diff options
Diffstat (limited to 'config/module/u-boot')
43 files changed, 17016 insertions, 0 deletions
diff --git a/config/module/u-boot/amd64coreboot/config/default b/config/module/u-boot/amd64coreboot/config/default new file mode 100644 index 00000000..7c2a45f0 --- /dev/null +++ b/config/module/u-boot/amd64coreboot/config/default @@ -0,0 +1,2005 @@ +# +# Automatically generated file; DO NOT EDIT. +# U-Boot 2024.10 Configuration +# + +# +# Compiler: gcc (Debian 14.2.0-19) 14.2.0 +# +CONFIG_CREATE_ARCH_SYMLINK=y +CONFIG_SUPPORT_LITTLE_ENDIAN=y +CONFIG_SYS_CACHE_SHIFT_6=y +CONFIG_SYS_CACHELINE_SIZE=64 +CONFIG_LINKER_LIST_ALIGN=8 +# CONFIG_ARC is not set +# CONFIG_ARM is not set +# CONFIG_M68K is not set +# CONFIG_MICROBLAZE is not set +# CONFIG_MIPS is not set +# CONFIG_NIOS2 is not set +# CONFIG_PPC is not set +# CONFIG_RISCV is not set +# CONFIG_SANDBOX is not set +# CONFIG_SH is not set +CONFIG_X86=y +# CONFIG_XTENSA is not set +CONFIG_SYS_ARCH="x86" +CONFIG_SYS_SOC="coreboot" +CONFIG_SYS_VENDOR="coreboot" +CONFIG_SYS_BOARD="coreboot" +CONFIG_TEXT_BASE=0x1120000 +CONFIG_SYS_MALLOC_LEN=0x2000000 +CONFIG_SYS_MALLOC_F_LEN=0x800 +CONFIG_SPL_GPIO=y +CONFIG_SPL_LIBCOMMON_SUPPORT=y +CONFIG_SPL_LIBGENERIC_SUPPORT=y +CONFIG_NR_DRAM_BANKS=8 +CONFIG_SPL_LDSCRIPT="arch/$(ARCH)/cpu/u-boot-spl.lds" +CONFIG_ENV_SOURCE_FILE="" +CONFIG_ENV_SIZE=0x1000 +CONFIG_DM_GPIO=y +# CONFIG_SPL_DM_SPI is not set +CONFIG_DEFAULT_DEVICE_TREE="coreboot" +CONFIG_SPL_TEXT_BASE=0x1110000 +CONFIG_BOARD_SPECIFIC_OPTIONS=y +# CONFIG_OF_LIBFDT_OVERLAY is not set +CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x8000 +# CONFIG_DM_RESET is not set +CONFIG_SYS_MONITOR_LEN=1048576 +# CONFIG_SPL_MMC is not set +CONFIG_SPL_SERIAL=y +CONFIG_SPL_DRIVERS_MISC=y +CONFIG_SPL_SYS_MALLOC_F_LEN=0x800 +# CONFIG_SPL_HAS_BSS_LINKER_SECTION is not set +# CONFIG_SPL_STACK_R is not set +CONFIG_WATCHDOG_TIMEOUT_MSECS=60000 +CONFIG_SPL_SYS_MALLOC_F=y +CONFIG_ERR_PTR_OFFSET=0x0 +CONFIG_SPL_SIZE_LIMIT=0x0 +CONFIG_SPL=y +CONFIG_PRE_CON_BUF_ADDR=0x100000 +CONFIG_PRE_CON_BUF_SZ=4096 +CONFIG_IDENT_STRING="" +CONFIG_SYS_CLK_FREQ=0 +# CONFIG_SPL_FS_FAT is not set +# CONFIG_SPL_LIBDISK_SUPPORT is not set +CONFIG_SPL_SPI_FLASH_SUPPORT=y +CONFIG_SPL_SPI=y +CONFIG_SYS_MEM_TOP_HIDE=0x0 +CONFIG_SYS_LOAD_ADDR=0x02000000 +CONFIG_SPL_PAYLOAD="u-boot.bin" +CONFIG_BUILD_TARGET="" +# CONFIG_SYS_PCI_64BIT is not set +CONFIG_PCI=y +CONFIG_FWU_NUM_BANKS=2 +CONFIG_FWU_NUM_IMAGES_PER_BANK=2 + +# +# x86 architecture +# +# CONFIG_X86_RUN_32BIT is not set +CONFIG_X86_RUN_64BIT=y +CONFIG_X86_64=y +# CONFIG_VENDOR_ADVANTECH is not set +# CONFIG_VENDOR_CONGATEC is not set +CONFIG_VENDOR_COREBOOT=y +# CONFIG_VENDOR_DFI is not set +# CONFIG_VENDOR_EFI is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_INTEL_MID is not set +CONFIG_PCIE_ECAM_BASE=0xe0000000 +CONFIG_TARGET_COREBOOT=y +CONFIG_SYS_CAR_ADDR=0x01920000 +CONFIG_SYS_CAR_SIZE=0x4000 +CONFIG_ROM_TABLE_ADDR=0xf0000 +CONFIG_ROM_TABLE_SIZE=0x10000 +CONFIG_CPU_ADDR_BITS=36 +# CONFIG_DEBUG_UART is not set +CONFIG_SYS_COREBOOT=y +CONFIG_X86_TSC_TIMER_FREQ=1000000000 +CONFIG_AHCI=y +CONFIG_RAMBASE=0x100000 +CONFIG_HPET_ADDRESS=0xfed00000 +# CONFIG_X86_LOAD_FROM_32_BIT is not set +# CONFIG_HAVE_INTEL_ME is not set +# CONFIG_X86_RAMTEST is not set +# CONFIG_USE_HOB is not set +# CONFIG_HAVE_FSP is not set +CONFIG_USE_CAR=y +# CONFIG_HAVE_MRC is not set +# CONFIG_HAVE_REFCODE is not set +CONFIG_HAVE_MICROCODE=y +# CONFIG_SMP is not set +# CONFIG_HAVE_VGA_BIOS is not set +CONFIG_X86_HARDFP=y +# CONFIG_HAVE_ITSS is not set +# CONFIG_HAVE_ACPI_RESUME is not set +CONFIG_MAX_PIRQ_LINKS=8 +CONFIG_IRQ_SLOT_COUNT=128 +CONFIG_PCIE_ECAM_SIZE=0x10000000 +CONFIG_I8259_PIC=y +CONFIG_APIC=y +CONFIG_I8254_TIMER=y +# CONFIG_SEABIOS is not set +# CONFIG_INTEL_CAR_CQOS is not set +CONFIG_X86_OFFSET_U_BOOT=0x1120000 +CONFIG_X86_OFFSET_SPL=0x1110000 +# CONFIG_ACPI_GPE is not set +# CONFIG_SPL_ACPI_GPE is not set +CONFIG_SA_PCIEX_LENGTH=0x10000000 +CONFIG_COREBOOT_SYSINFO=y +CONFIG_SPL_COREBOOT_SYSINFO=y +CONFIG_ZBOOT=y +# CONFIG_OF_BOARD_FIXUP is not set +CONFIG_SYS_LITTLE_ENDIAN=y + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=140200 +CONFIG_CLANG_VERSION=0 +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set +# CONFIG_CC_OPTIMIZE_FOR_DEBUG is not set +# CONFIG_OPTIMIZE_INLINING is not set +# CONFIG_SPL_OPTIMIZE_INLINING is not set +CONFIG_CC_HAS_ASM_INLINE=y +CONFIG_ENV_VARS_UBOOT_CONFIG=y +# CONFIG_SYS_BOOT_GET_CMDLINE is not set +# CONFIG_SYS_BOOT_GET_KBD is not set +CONFIG_SYS_MALLOC_F=y +# CONFIG_VALGRIND is not set +CONFIG_EXPERT=y +CONFIG_SYS_MALLOC_CLEAR_ON_INIT=y +CONFIG_SPL_SYS_MALLOC_CLEAR_ON_INIT=y +# CONFIG_SYS_MALLOC_DEFAULT_TO_INIT is not set +# CONFIG_TOOLS_DEBUG is not set +# CONFIG_PHYS_64BIT is not set +# CONFIG_FDT_64BIT is not set +CONFIG_SPL_IMAGE="spl/u-boot-spl.bin" +# CONFIG_REMAKE_ELF is not set +# CONFIG_HAS_BOARD_SIZE_LIMIT is not set +# CONFIG_SYS_CUSTOM_LDSCRIPT is not set +CONFIG_PLATFORM_ELFENTRY="_start" +CONFIG_STACK_SIZE=0x1000000 +CONFIG_SYS_SRAM_BASE=0x0 +CONFIG_SYS_SRAM_SIZE=0x0 +# CONFIG_MP is not set +CONFIG_HAVE_TEXT_BASE=y +# CONFIG_HAVE_SYS_UBOOT_START is not set +CONFIG_SYS_UBOOT_START=0x1120000 +CONFIG_HAVE_SYS_MONITOR_BASE=y +CONFIG_SYS_MONITOR_BASE=0x01120000 +# CONFIG_DYNAMIC_SYS_CLK_FREQ is not set +# CONFIG_API is not set + +# +# Boot options +# + +# +# Boot images +# +# CONFIG_ANDROID_BOOT_IMAGE is not set +CONFIG_TIMESTAMP=y +CONFIG_FIT=y +CONFIG_FIT_EXTERNAL_OFFSET=0x0 +CONFIG_FIT_FULL_CHECK=y +CONFIG_FIT_SIGNATURE=y +CONFIG_FIT_SIGNATURE_MAX_SIZE=0x10000000 +# CONFIG_FIT_RSASSA_PSS is not set +# CONFIG_FIT_CIPHER is not set +# CONFIG_FIT_VERBOSE is not set +# CONFIG_FIT_BEST_MATCH is not set +CONFIG_FIT_PRINT=y +# CONFIG_SPL_FIT is not set +# CONFIG_SPL_LOAD_FIT is not set +# CONFIG_SPL_LOAD_FIT_FULL is not set +CONFIG_PXE_UTILS=y +CONFIG_BOOT_DEFAULTS_FEATURES=y +CONFIG_BOOT_DEFAULTS_CMDS=y +CONFIG_BOOT_DEFAULTS=y +CONFIG_BOOTSTD=y +# CONFIG_SPL_BOOTSTD is not set +CONFIG_BOOTSTD_FULL=y +CONFIG_BOOTSTD_DEFAULTS=y +CONFIG_BOOTSTD_BOOTCOMMAND=y +CONFIG_BOOTMETH_GLOBAL=y +# CONFIG_BOOTMETH_ANDROID is not set +CONFIG_BOOTMETH_CROS=y +CONFIG_BOOTMETH_EXTLINUX=y +CONFIG_BOOTMETH_EXTLINUX_PXE=y +CONFIG_BOOTMETH_EFILOADER=y +CONFIG_BOOTMETH_EFI_BOOTMGR=y +CONFIG_BOOTMETH_VBE=y +CONFIG_BOOTMETH_DISTRO=y +# CONFIG_SPL_BOOTMETH_VBE is not set +CONFIG_BOOTMETH_VBE_REQUEST=y +# CONFIG_SPL_BOOTMETH_VBE_REQUEST is not set +CONFIG_BOOTMETH_VBE_SIMPLE=y +CONFIG_BOOTMETH_VBE_SIMPLE_OS=y +# CONFIG_SPL_BOOTMETH_VBE_SIMPLE is not set +CONFIG_EXPO=y +CONFIG_BOOTMETH_SCRIPT=y +# CONFIG_LEGACY_IMAGE_FORMAT is not set +CONFIG_SYS_BOOTM_LEN=0x1000000 +CONFIG_SUPPORT_RAW_INITRD=y +# CONFIG_CHROMEOS is not set +# CONFIG_CHROMEOS_VBOOT is not set +# CONFIG_RAMBOOT_PBL is not set +CONFIG_SYS_BOOT_RAMDISK_HIGH=y +# CONFIG_DISTRO_DEFAULTS is not set + +# +# Boot timing +# +# CONFIG_BOOTSTAGE is not set +CONFIG_SHOW_BOOT_PROGRESS=y +# CONFIG_SPL_SHOW_BOOT_PROGRESS is not set + +# +# Boot media +# +# CONFIG_NAND_BOOT is not set +# CONFIG_ONENAND_BOOT is not set +# CONFIG_QSPI_BOOT is not set +# CONFIG_SATA_BOOT is not set +# CONFIG_SD_BOOT is not set +# CONFIG_SD_BOOT_QSPI is not set +# CONFIG_SPI_BOOT is not set + +# +# Autoboot options +# +CONFIG_AUTOBOOT=y +CONFIG_BOOTDELAY=2 +# CONFIG_AUTOBOOT_KEYED is not set +# CONFIG_AUTOBOOT_USE_MENUKEY is not set +# CONFIG_BOOT_RETRY is not set + +# +# Image support +# +# CONFIG_IMAGE_PRE_LOAD is not set + +# +# Devicetree fixup +# +# CONFIG_OF_ENV_SETUP is not set +# CONFIG_OF_BOARD_SETUP is not set +# CONFIG_OF_SYSTEM_SETUP is not set +# CONFIG_OF_STDOUT_VIA_ALIAS is not set +# CONFIG_FDT_FIXUP_PARTITIONS is not set +# CONFIG_FDT_SIMPLEFB is not set +CONFIG_ARCH_FIXUP_FDT_MEMORY=y +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="root=/dev/sdb3 init=/sbin/init rootwait ro" +# CONFIG_BOOTARGS_SUBST is not set +CONFIG_USE_BOOTCOMMAND=y +CONFIG_BOOTCOMMAND="bootflow scan -l; if bootflow menu; then cls; bootflow boot; fi" +CONFIG_USE_PREBOOT=y +CONFIG_PREBOOT="usb start" +CONFIG_PREBOOT_DEFINED=y +CONFIG_DEFAULT_FDT_FILE="" + +# +# Configuration editor +# +# CONFIG_CEDIT is not set + +# +# Console +# +CONFIG_MENU=y +# CONFIG_CONSOLE_RECORD is not set +CONFIG_SYS_CBSIZE=512 +CONFIG_SYS_PBSIZE=532 +# CONFIG_DISABLE_CONSOLE is not set +CONFIG_LOGLEVEL=4 +CONFIG_SPL_LOGLEVEL=4 +# CONFIG_SILENT_CONSOLE is not set +# CONFIG_SPL_SILENT_CONSOLE is not set +# CONFIG_TPL_SILENT_CONSOLE is not set +CONFIG_PRE_CONSOLE_BUFFER=y +CONFIG_CONSOLE_FLUSH_SUPPORT=y +# CONFIG_CONSOLE_FLUSH_ON_NEWLINE is not set +CONFIG_CONSOLE_MUX=y +CONFIG_SYS_CONSOLE_IS_IN_ENV=y +# CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE is not set +# CONFIG_SYS_CONSOLE_ENV_OVERWRITE is not set +CONFIG_SYS_CONSOLE_INFO_QUIET=y +CONFIG_SYS_STDIO_DEREGISTER=y +# CONFIG_SPL_SYS_STDIO_DEREGISTER is not set +CONFIG_SYS_DEVICE_NULLDEV=y + +# +# Logging +# +CONFIG_LOG=y +CONFIG_LOG_MAX_LEVEL=6 +CONFIG_LOG_DEFAULT_LEVEL=6 +CONFIG_LOG_CONSOLE=y +# CONFIG_LOGF_FILE is not set +CONFIG_LOGF_LINE=y +CONFIG_LOGF_FUNC=y +CONFIG_LOGF_FUNC_PAD=20 +# CONFIG_LOG_SYSLOG is not set +# CONFIG_SPL_LOG is not set +# CONFIG_LOG_ERROR_RETURN is not set + +# +# Init options +# +# CONFIG_BOARD_TYPES is not set +CONFIG_DISPLAY_CPUINFO=y +# CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_DISPLAY_BOARDINFO_LATE=y + +# +# Start-up hooks +# +CONFIG_CYCLIC=y +# CONFIG_SPL_CYCLIC is not set +CONFIG_CYCLIC_MAX_CPU_TIME_US=5000 +CONFIG_EVENT=y +CONFIG_EVENT_DYNAMIC=y +# CONFIG_EVENT_DEBUG is not set +# CONFIG_ARCH_MISC_INIT is not set +# CONFIG_BOARD_EARLY_INIT_F is not set +CONFIG_BOARD_EARLY_INIT_R=y +# CONFIG_BOARD_POSTCLK_INIT is not set +# CONFIG_BOARD_LATE_INIT is not set +# CONFIG_HWCONFIG is not set +CONFIG_LAST_STAGE_INIT=y +# CONFIG_MISC_INIT_R is not set +# CONFIG_SYS_MALLOC_BOOTPARAMS is not set +# CONFIG_ID_EEPROM is not set +# CONFIG_PCI_INIT_R is not set +# CONFIG_RESET_PHY_R is not set + +# +# Security support +# +CONFIG_HASH=y +# CONFIG_STACKPROTECTOR is not set +# CONFIG_BOARD_RNG_SEED is not set + +# +# Update support +# +# CONFIG_UPDATE_TFTP is not set +# CONFIG_ANDROID_AB is not set + +# +# Blob list +# +# CONFIG_BLOBLIST is not set +CONFIG_SUPPORT_SPL=y +CONFIG_SUPPORT_TPL=y + +# +# SPL configuration options +# +CONFIG_SPL_FRAMEWORK=y +# CONFIG_SPL_FRAMEWORK_BOARD_INIT_F is not set +CONFIG_SPL_MAX_SIZE=0x0 +CONFIG_SPL_PAD_TO=0x0 +CONFIG_SPL_NO_BSS_LIMIT=y +# CONFIG_SPL_BSS_LIMIT is not set +# CONFIG_SPL_FOOTPRINT_LIMIT is not set +CONFIG_SPL_SYS_STACK_F_CHECK_BYTE=0xaa +# CONFIG_SPL_SYS_REPORT_STACK_F_USAGE is not set +# CONFIG_SPL_SHOW_ERRORS is not set +CONFIG_SPL_BINMAN_SYMBOLS=y +CONFIG_SPL_BINMAN_UBOOT_SYMBOLS=y +# CONFIG_SPL_SOC_INIT is not set +# CONFIG_SPL_BOARD_INIT is not set +# CONFIG_SPL_BOOTROM_SUPPORT is not set +CONFIG_SPL_RAW_IMAGE_SUPPORT=y +CONFIG_SPL_LEGACY_IMAGE_FORMAT=y +# CONFIG_SPL_LEGACY_IMAGE_CRC_CHECK is not set +# CONFIG_SPL_LOAD_IMX_CONTAINER is not set +# CONFIG_SPL_SYS_MALLOC_SIMPLE is not set +CONFIG_SPL_SEPARATE_BSS=y +# CONFIG_SPL_SYS_MALLOC is not set +CONFIG_SPL_BANNER_PRINT=y +# CONFIG_SPL_DISPLAY_PRINT is not set +# CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR is not set +# CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION is not set +# CONFIG_SPL_CACHE is not set +# CONFIG_SPL_CPU is not set +# CONFIG_SPL_CRYPTO is not set +# CONFIG_SPL_DMA is not set +# CONFIG_SPL_ENV_SUPPORT is not set +# CONFIG_SPL_FS_EXT4 is not set +# CONFIG_SPL_FS_SQUASHFS is not set +# CONFIG_SPL_FAT_WRITE is not set +# CONFIG_SPL_FPGA is not set +# CONFIG_SPL_I2C is not set +# CONFIG_SPL_DM_MAILBOX is not set +# CONFIG_SPL_MEMORY is not set +# CONFIG_SPL_MPC8XXX_INIT_DDR is not set +# CONFIG_SPL_MTD is not set +# CONFIG_SPL_MUSB_NEW is not set +# CONFIG_SPL_NAND_SUPPORT is not set +# CONFIG_SPL_NAND_DRIVERS is not set +# CONFIG_SPL_NAND_ECC is not set +# CONFIG_SPL_NAND_SIMPLE is not set +# CONFIG_SPL_UBI is not set +# CONFIG_SPL_DM_SPI_FLASH is not set +# CONFIG_SPL_NET is not set +# CONFIG_SPL_NOR_SUPPORT is not set +# CONFIG_SPL_XIP_SUPPORT is not set +# CONFIG_SPL_ONENAND_SUPPORT is not set +# CONFIG_SPL_OS_BOOT is not set +# CONFIG_SPL_PCI is not set +# CONFIG_SPL_PCH is not set +# CONFIG_SPL_POST_MEM_SUPPORT is not set +# CONFIG_SPL_DM_RESET is not set +# CONFIG_SPL_POWER is not set +# CONFIG_SPL_POWER_DOMAIN is not set +# CONFIG_SPL_RAM_SUPPORT is not set +# CONFIG_SPL_REMOTEPROC is not set +# CONFIG_SPL_RTC is not set +# CONFIG_SPL_SATA is not set +# CONFIG_SPL_NVME is not set +# CONFIG_SPL_SPI_FLASH_TINY is not set +# CONFIG_SPL_SPI_FLASH_SFDP_SUPPORT is not set +# CONFIG_SPL_SPI_FLASH_MTD is not set +# CONFIG_SPL_SPI_LOAD is not set +# CONFIG_SPL_THERMAL is not set +# CONFIG_SPL_WATCHDOG is not set +# CONFIG_SPL_YMODEM_SUPPORT is not set +CONFIG_SPL_TARGET="" +# CONFIG_TPL is not set +# CONFIG_VPL is not set +CONFIG_IMAGE_SIGN_INFO=y +CONFIG_CMDLINE=y +CONFIG_HUSH_PARSER=y + +# +# Hush flavor to use +# +CONFIG_HUSH_OLD_PARSER=y +# CONFIG_HUSH_MODERN_PARSER is not set +CONFIG_CMDLINE_EDITING=y +# CONFIG_CMDLINE_PS_SUPPORT is not set +CONFIG_AUTO_COMPLETE=y +CONFIG_SYS_LONGHELP=y +CONFIG_SYS_PROMPT="=> " +CONFIG_SYS_PROMPT_HUSH_PS2="> " +CONFIG_SYS_MAXARGS=64 +CONFIG_SYS_XTRACE=y + +# +# Commands +# + +# +# Info commands +# +CONFIG_CMD_ACPI=y +CONFIG_CMD_BDI=y +CONFIG_CMD_BDINFO_EXTRA=y +# CONFIG_CMD_CONFIG is not set +CONFIG_CMD_CONSOLE=y +# CONFIG_CMD_HISTORY is not set +# CONFIG_CMD_PMC is not set +# CONFIG_CMD_SMBIOS is not set + +# +# Boot commands +# +CONFIG_CMD_BOOTD=y +CONFIG_CMD_BOOTM=y +CONFIG_CMD_BOOTDEV=y +CONFIG_CMD_BOOTFLOW=y +CONFIG_CMD_BOOTFLOW_FULL=y +CONFIG_CMD_BOOTFLOW_BOOTDELAY=8 +CONFIG_CMD_BOOTMETH=y +CONFIG_BOOTM_EFI=y +CONFIG_BOOTM_ELF=y +# CONFIG_CMD_BOOTZ is not set +CONFIG_BOOTM_LINUX=y +CONFIG_BOOTM_NETBSD=y +# CONFIG_BOOTM_OPENRTOS is not set +# CONFIG_BOOTM_OSE is not set +CONFIG_BOOTM_PLAN9=y +CONFIG_BOOTM_RTEMS=y +CONFIG_CMD_VBE=y +CONFIG_BOOTM_VXWORKS=y +CONFIG_CMD_BOOTEFI=y +CONFIG_CMD_BOOTEFI_BINARY=y +CONFIG_CMD_BOOTEFI_BOOTMGR=y +CONFIG_CMD_BOOTEFI_HELLO_COMPILE=y +# CONFIG_CMD_BOOTEFI_HELLO is not set +# CONFIG_CMD_BOOTEFI_SELFTEST is not set +# CONFIG_CMD_BOOTMENU is not set +# CONFIG_CMD_ADTIMG is not set +CONFIG_CMD_ELF=y +# CONFIG_CMD_ELF_FDT_SETUP is not set +CONFIG_CMD_FDT=y +CONFIG_CMD_GO=y +CONFIG_CMD_RUN=y +CONFIG_CMD_IMI=y +CONFIG_CMD_XIMG=y +# CONFIG_CMD_SPL is not set +CONFIG_CMD_ZBOOT=y + +# +# Environment commands +# +# CONFIG_CMD_ASKENV is not set +CONFIG_CMD_EXPORTENV=y +CONFIG_CMD_IMPORTENV=y +CONFIG_CMD_EDITENV=y +# CONFIG_CMD_GREPENV is not set +CONFIG_CMD_SAVEENV=y +# CONFIG_CMD_ERASEENV is not set +CONFIG_CMD_ENV_EXISTS=y +# CONFIG_CMD_ENV_CALLBACK is not set +# CONFIG_CMD_ENV_FLAGS is not set +# CONFIG_CMD_NVEDIT_EFI is not set +# CONFIG_CMD_NVEDIT_INDIRECT is not set +# CONFIG_CMD_NVEDIT_INFO is not set +# CONFIG_CMD_NVEDIT_LOAD is not set +# CONFIG_CMD_NVEDIT_SELECT is not set + +# +# Memory commands +# +# CONFIG_CMD_BINOP is not set +CONFIG_CMD_CRC32=y +# CONFIG_CRC32_VERIFY is not set +# CONFIG_LOOPW is not set +# CONFIG_CMD_MD5SUM is not set +# CONFIG_CMD_MEMINFO is not set +CONFIG_CMD_MEMORY=y +# CONFIG_CMD_MEM_SEARCH is not set +# CONFIG_CMD_MX_CYCLIC is not set +CONFIG_CMD_RANDOM=y +# CONFIG_CMD_MEMTEST is not set +# CONFIG_CMD_SHA1SUM is not set +# CONFIG_CMD_STRINGS is not set + +# +# Compression commands +# +# CONFIG_CMD_LZMADEC is not set +# CONFIG_CMD_UNLZ4 is not set +# CONFIG_CMD_UNZIP is not set +# CONFIG_CMD_ZIP is not set + +# +# Device access commands +# +# CONFIG_CMD_BCB is not set +# CONFIG_CMD_BIND is not set +# CONFIG_CMD_CLK is not set +# CONFIG_CMD_DEMO is not set +# CONFIG_CMD_DFU is not set +CONFIG_CMD_DM=y +# CONFIG_CMD_FUSE is not set +# CONFIG_CMD_GPIO is not set +# CONFIG_CMD_GPT is not set +CONFIG_CMD_IDE=y +CONFIG_CMD_IO=y +# CONFIG_CMD_IOTRACE is not set +# CONFIG_CMD_I2C is not set +CONFIG_CMD_LOADB=y +# CONFIG_CMD_LOADM is not set +CONFIG_CMD_LOADS=y +# CONFIG_LOADS_ECHO is not set +# CONFIG_CMD_SAVES is not set +# CONFIG_SYS_LOADS_BAUD_CHANGE is not set +CONFIG_CMD_LOADXY_TIMEOUT=90 +# CONFIG_CMD_LSBLK is not set +# CONFIG_CMD_MBR is not set +CONFIG_CMD_MMC=y +# CONFIG_CMD_BKOPS_ENABLE is not set +# CONFIG_CMD_MMC_REG is not set +# CONFIG_CMD_MMC_SWRITE is not set +# CONFIG_CMD_CLONE is not set +# CONFIG_CMD_MTD is not set +CONFIG_CMD_NVME=y +# CONFIG_CMD_ONENAND is not set +# CONFIG_CMD_OSD is not set +CONFIG_CMD_PART=y +CONFIG_CMD_PCI=y +# CONFIG_CMD_PCI_MPS is not set +# CONFIG_CMD_POWEROFF is not set +# CONFIG_CMD_READ is not set +CONFIG_CMD_SATA=y +CONFIG_CMD_SCSI=y +# CONFIG_CMD_SDRAM is not set +CONFIG_CMD_USB=y +# CONFIG_CMD_USB_SDP is not set +# CONFIG_CMD_RKMTD is not set +# CONFIG_CMD_WRITE is not set + +# +# Shell scripting commands +# +# CONFIG_CMD_CAT is not set +CONFIG_CMD_ECHO=y +CONFIG_CMD_ITEST=y +CONFIG_CMD_SOURCE=y +# CONFIG_CMD_SETEXPR is not set +# CONFIG_CMD_XXD is not set + +# +# Android support commands +# +CONFIG_CMD_NET=y +CONFIG_CMD_BOOTP=y +CONFIG_CMD_DHCP=y +# CONFIG_BOOTP_MAY_FAIL is not set +CONFIG_BOOTP_BOOTPATH=y +# CONFIG_BOOTP_VENDOREX is not set +CONFIG_BOOTP_BOOTFILESIZE=y +CONFIG_BOOTP_DNS=y +# CONFIG_BOOTP_DNS2 is not set +CONFIG_BOOTP_GATEWAY=y +CONFIG_BOOTP_HOSTNAME=y +# CONFIG_BOOTP_PREFER_SERVERIP is not set +CONFIG_BOOTP_SUBNETMASK=y +# CONFIG_BOOTP_NISDOMAIN is not set +# CONFIG_BOOTP_NTPSERVER is not set +# CONFIG_CMD_PCAP is not set +CONFIG_BOOTP_PXE=y +CONFIG_BOOTP_PXE_CLIENTARCH=0x0 +# CONFIG_BOOTP_PXE_DHCP_OPTION is not set +CONFIG_BOOTP_VCI_STRING="U-Boot" +CONFIG_CMD_TFTPBOOT=y +# CONFIG_CMD_TFTPPUT is not set +# CONFIG_CMD_TFTPSRV is not set +CONFIG_NET_TFTP_VARS=y +# CONFIG_CMD_RARP is not set +# CONFIG_CMD_NFS is not set +# CONFIG_SYS_DISABLE_AUTOLOAD is not set +# CONFIG_CMD_WGET is not set +CONFIG_CMD_MII=y +CONFIG_CMD_MDIO=y +CONFIG_CMD_PING=y +# CONFIG_CMD_CDP is not set +# CONFIG_CMD_SNTP is not set +# CONFIG_CMD_DNS is not set +# CONFIG_CMD_LINK_LOCAL is not set +# CONFIG_CMD_ETHSW is not set +CONFIG_CMD_PXE=y +# CONFIG_CMD_WOL is not set + +# +# Misc commands +# +# CONFIG_CMD_2048 is not set +# CONFIG_CMD_BMP is not set +# CONFIG_CMD_BSP is not set +CONFIG_CMD_BLOCK_CACHE=y +# CONFIG_CMD_CACHE is not set +# CONFIG_CMD_CONITRACE is not set +CONFIG_CMD_CLS=y +# CONFIG_CMD_EFIDEBUG is not set +CONFIG_CMD_EFICONFIG=y +# CONFIG_CMD_EXCEPTION is not set +# CONFIG_CMD_INI is not set +CONFIG_CMD_DATE=y +# CONFIG_CMD_RTC is not set +CONFIG_CMD_TIME=y +CONFIG_CMD_GETTIME=y +# CONFIG_CMD_PAUSE is not set +CONFIG_CMD_SLEEP=y +# CONFIG_CMD_TIMER is not set +CONFIG_CMD_SOUND=y +# CONFIG_CMD_SYSBOOT is not set +# CONFIG_CMD_QFW is not set +# CONFIG_CMD_PSTORE is not set +# CONFIG_CMD_TERMINAL is not set +# CONFIG_CMD_UUID is not set +CONFIG_CMD_VIDCONSOLE=y +CONFIG_CMD_SELECT_FONT=y + +# +# TI specific command line interface +# + +# +# Power commands +# + +# +# Security commands +# +# CONFIG_CMD_AES is not set +# CONFIG_CMD_BLOB is not set +# CONFIG_CMD_HASH is not set + +# +# Firmware commands +# + +# +# Filesystem commands +# +# CONFIG_CMD_BTRFS is not set +CONFIG_CMD_CBFS=y +# CONFIG_CMD_EROFS is not set +CONFIG_CMD_EXT2=y +CONFIG_CMD_EXT4=y +CONFIG_CMD_EXT4_WRITE=y +CONFIG_CMD_FAT=y +# CONFIG_CMD_SQUASHFS is not set +CONFIG_CMD_FS_GENERIC=y +# CONFIG_CMD_FS_UUID is not set +# CONFIG_CMD_JFFS2 is not set +# CONFIG_CMD_MTDPARTS is not set +CONFIG_MTDIDS_DEFAULT="" +CONFIG_MTDPARTS_DEFAULT="" +# CONFIG_CMD_ZFS is not set + +# +# Debug commands +# +CONFIG_CMD_CBSYSINFO=y +CONFIG_CMD_CYCLIC=y +# CONFIG_CMD_DIAG is not set +# CONFIG_CMD_EVENT is not set +CONFIG_CMD_IRQ=y +# CONFIG_CMD_LOG is not set +# CONFIG_CMD_UBI is not set +# CONFIG_MMC_SPEED_MODE_SET is not set + +# +# Partition Types +# +CONFIG_PARTITIONS=y +CONFIG_MAC_PARTITION=y +# CONFIG_SPL_MAC_PARTITION is not set +CONFIG_DOS_PARTITION=y +# CONFIG_SPL_DOS_PARTITION is not set +CONFIG_ISO_PARTITION=y +# CONFIG_SPL_ISO_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_SPL_AMIGA_PARTITION is not set +CONFIG_EFI_PARTITION=y +CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128 +CONFIG_EFI_PARTITION_ENTRIES_OFF=0 +# CONFIG_SPL_EFI_PARTITION is not set +CONFIG_PARTITION_UUIDS=y +CONFIG_PARTITION_TYPE_GUID=y +CONFIG_SUPPORT_OF_CONTROL=y +CONFIG_PYLIBFDT=y +CONFIG_DTOC=y +CONFIG_BINMAN=y + +# +# Device Tree Control +# +CONFIG_OF_CONTROL=y +CONFIG_OF_REAL=y +CONFIG_SPL_OF_CONTROL=y +# CONFIG_OF_LIVE is not set +# CONFIG_OF_UPSTREAM is not set +CONFIG_OF_SEPARATE=y +# CONFIG_OF_EMBED is not set +# CONFIG_OF_INITIAL_DTB_READONLY is not set +# CONFIG_OF_BOARD is not set +# CONFIG_OF_OMIT_DTB is not set +CONFIG_DEVICE_TREE_INCLUDES="" +CONFIG_OF_LIST="coreboot" +# CONFIG_MULTI_DTB_FIT is not set +CONFIG_SPL_OF_LIST="coreboot" +CONFIG_OF_TAG_MIGRATE=y +CONFIG_OF_SPL_REMOVE_PROPS="clocks clock-names interrupt-parent interrupts" +# CONFIG_OF_DTB_PROPS_REMOVE is not set +# CONFIG_SPL_OF_PLATDATA is not set +CONFIG_SPL_OF_REAL=y + +# +# Environment +# +CONFIG_ENV_SUPPORT=y +CONFIG_SAVEENV=y +CONFIG_ENV_OVERWRITE=y +CONFIG_ENV_MIN_ENTRIES=64 +CONFIG_ENV_MAX_ENTRIES=512 +CONFIG_ENV_IS_DEFAULT=y +CONFIG_ENV_IS_NOWHERE=y +# CONFIG_ENV_IS_IN_EEPROM is not set +# CONFIG_ENV_IS_IN_FAT is not set +# CONFIG_ENV_IS_IN_EXT4 is not set +# CONFIG_ENV_IS_IN_FLASH is not set +# CONFIG_ENV_IS_IN_MMC is not set +# CONFIG_ENV_IS_IN_NAND is not set +# CONFIG_ENV_IS_IN_NVRAM is not set +# CONFIG_ENV_IS_IN_REMOTE is not set +# CONFIG_SYS_REDUNDAND_ENVIRONMENT is not set +CONFIG_SYS_RELOC_GD_ENV_ADDR=y +# CONFIG_USE_DEFAULT_ENV_FILE is not set +# CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG is not set +# CONFIG_ENV_IMPORT_FDT is not set +# CONFIG_ENV_APPEND is not set +# CONFIG_ENV_WRITEABLE_LIST is not set +# CONFIG_ENV_ACCESS_IGNORE_FORCE is not set +CONFIG_USE_BOOTFILE=y +CONFIG_BOOTFILE="bzImage" +# CONFIG_USE_ETHPRIME is not set +CONFIG_USE_HOSTNAME=y +CONFIG_HOSTNAME="x86" +# CONFIG_VERSION_VARIABLE is not set +CONFIG_NET=y +CONFIG_ARP_TIMEOUT=5000 +CONFIG_NET_RETRY_COUNT=5 +# CONFIG_PROT_UDP is not set +CONFIG_BOOTDEV_ETH=y +# CONFIG_BOOTP_SEND_HOSTNAME is not set +# CONFIG_NET_RANDOM_ETHADDR is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_IP_DEFRAG is not set +# CONFIG_SYS_FAULT_ECHO_LINK_DOWN is not set +CONFIG_TFTP_BLOCKSIZE=1468 +# CONFIG_TFTP_PORT is not set +CONFIG_TFTP_WINDOWSIZE=1 +CONFIG_TFTP_TSIZE=y +# CONFIG_SERVERIP_FROM_PROXYDHCP is not set +CONFIG_SERVERIP_FROM_PROXYDHCP_DELAY_MS=100 +# CONFIG_KEEP_SERVERADDR is not set +# CONFIG_UDP_CHECKSUM is not set +# CONFIG_BOOTP_SERVERIP is not set +CONFIG_BOOTP_MAX_ROOT_PATH_LEN=64 +# CONFIG_USE_GATEWAYIP is not set +# CONFIG_USE_IPADDR is not set +# CONFIG_USE_NETMASK is not set +CONFIG_USE_ROOTPATH=y +CONFIG_ROOTPATH="/opt/nfsroot" +# CONFIG_USE_SERVERIP is not set +# CONFIG_PROT_TCP is not set +# CONFIG_IPV6 is not set +CONFIG_SYS_RX_ETH_BUFFER=4 + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_DM=y +CONFIG_SPL_DM=y +# CONFIG_DM_WARN is not set +# CONFIG_SPL_DM_WARN is not set +# CONFIG_DM_DEBUG is not set +# CONFIG_DM_STATS is not set +# CONFIG_SPL_DM_STATS is not set +CONFIG_DM_DEVICE_REMOVE=y +CONFIG_DM_EVENT=y +# CONFIG_SPL_DM_DEVICE_REMOVE is not set +CONFIG_DM_STDIO=y +CONFIG_DM_SEQ_ALIAS=y +# CONFIG_SPL_DM_SEQ_ALIAS is not set +CONFIG_SPL_DM_INLINE_OFNODE=y +# CONFIG_DM_DMA is not set +CONFIG_REGMAP=y +CONFIG_SPL_REGMAP=y +CONFIG_SYSCON=y +CONFIG_SPL_SYSCON=y +# CONFIG_DEVRES is not set +CONFIG_SIMPLE_BUS=y +CONFIG_SPL_SIMPLE_BUS=y +# CONFIG_SIMPLE_BUS_CORRECT_RANGE is not set +CONFIG_OF_TRANSLATE=y +# CONFIG_SPL_OF_TRANSLATE is not set +# CONFIG_TRANSLATION_OFFSET is not set +CONFIG_DM_DEV_READ_INLINE=y +# CONFIG_OFNODE_MULTI_TREE is not set +# CONFIG_ACPIGEN is not set +# CONFIG_BOUNCE_BUFFER is not set +# CONFIG_ADC is not set +# CONFIG_SPL_ADC is not set +CONFIG_SATA=y +CONFIG_LIBATA=y +CONFIG_SCSI_AHCI=y + +# +# SATA/SCSI device support +# +CONFIG_AHCI_PCI=y +# CONFIG_DWC_AHCI is not set +# CONFIG_DWC_AHSATA is not set +# CONFIG_MTK_AHCI is not set +# CONFIG_SUNXI_AHCI is not set +# CONFIG_SATA_CEVA is not set +# CONFIG_SATA_MV is not set +# CONFIG_SATA_SIL is not set +# CONFIG_AXI is not set + +# +# Bus devices +# +CONFIG_BLK=y +CONFIG_SPL_LEGACY_BLOCK=y +CONFIG_SPL_BLK=y +CONFIG_BLOCK_CACHE=y +# CONFIG_BLKMAP is not set +# CONFIG_SPL_BLOCK_CACHE is not set +# CONFIG_EFI_MEDIA is not set +# CONFIG_SPL_BLK_FS is not set +CONFIG_IDE=y +CONFIG_SYS_IDE_MAXBUS=2 +CONFIG_SYS_IDE_MAXDEVICE=4 +CONFIG_SYS_ATA_BASE_ADDR=0x0 +CONFIG_SYS_ATA_STRIDE=0x1 +CONFIG_SYS_ATA_DATA_OFFSET=0 +CONFIG_SYS_ATA_REG_OFFSET=0 +CONFIG_SYS_ATA_ALT_OFFSET=0 +CONFIG_SYS_ATA_IDE0_OFFSET=0x1f0 +CONFIG_SYS_ATA_IDE1_OFFSET=0x170 +CONFIG_ATAPI=y +# CONFIG_IDE_RESET is not set +CONFIG_LBA48=y +CONFIG_SYS_64BIT_LBA=y +# CONFIG_RKMTD is not set +# CONFIG_BOOTCOUNT_LIMIT is not set + +# +# Button Support +# +# CONFIG_BUTTON is not set + +# +# Cache Controller drivers +# +# CONFIG_CACHE is not set +# CONFIG_ANDES_L2_CACHE is not set +# CONFIG_NCORE_CACHE is not set +# CONFIG_SIFIVE_CCACHE is not set +# CONFIG_SIFIVE_PL2 is not set + +# +# Clock +# +# CONFIG_CLK is not set +# CONFIG_SPL_CLK_CCF is not set +# CONFIG_CLK_CCF is not set +# CONFIG_COMMON_CLK_ADI_SHARED is not set +# CONFIG_CLK_RCAR is not set +# CONFIG_CLK_RCAR_CPG_LIB is not set +# CONFIG_CPU is not set + +# +# Hardware crypto devices +# +# CONFIG_DM_HASH is not set +# CONFIG_FSL_CAAM is not set +# CONFIG_SYS_FSL_SEC_BE is not set +# CONFIG_SYS_FSL_SEC_LE is not set +# CONFIG_NPCM_AES is not set +# CONFIG_NPCM_SHA is not set +# CONFIG_DDR_SPD is not set +# CONFIG_IMX_SNPS_DDR_PHY is not set + +# +# Demo for driver model +# +# CONFIG_DM_DEMO is not set + +# +# DFU support +# + +# +# DMA Support +# +# CONFIG_DMA is not set +# CONFIG_DMA_LPC32XX is not set +# CONFIG_TI_EDMA3 is not set +# CONFIG_DMA_LEGACY is not set + +# +# Extcon Support +# +# CONFIG_EXTCON is not set + +# +# Fastboot support +# +# CONFIG_UDP_FUNCTION_FASTBOOT is not set +# CONFIG_TCP_FUNCTION_FASTBOOT is not set +# CONFIG_FIRMWARE is not set +# CONFIG_ZYNQMP_FIRMWARE is not set +# CONFIG_DM_FUZZING_ENGINE is not set + +# +# FPGA support +# +# CONFIG_FPGA_ALTERA is not set +# CONFIG_FPGA_SOCFPGA is not set +# CONFIG_FPGA_LATTICE is not set +# CONFIG_FPGA_XILINX is not set +# CONFIG_DM_FPGA is not set +# CONFIG_FWU_MDATA is not set +CONFIG_GPIO=y +CONFIG_SPL_DM_GPIO=y +# CONFIG_GPIO_HOG is not set +# CONFIG_SPL_GPIO_HOG is not set +# CONFIG_DM_GPIO_LOOKUP_LABEL is not set +# CONFIG_SPL_DM_GPIO_LOOKUP_LABEL is not set +# CONFIG_ALTERA_PIO is not set +# CONFIG_BCM2835_GPIO is not set +# CONFIG_DWAPB_GPIO is not set +# CONFIG_AT91_GPIO is not set +# CONFIG_ATMEL_PIO4 is not set +# CONFIG_ASPEED_GPIO is not set +# CONFIG_DA8XX_GPIO is not set +# CONFIG_HIKEY_GPIO is not set +# CONFIG_INTEL_BROADWELL_GPIO is not set +# CONFIG_INTEL_GPIO is not set +# CONFIG_INTEL_ICH6_GPIO is not set +# CONFIG_IMX_RGPIO2P is not set +# CONFIG_IPROC_GPIO is not set +# CONFIG_HSDK_CREG_GPIO is not set +# CONFIG_KIRKWOOD_GPIO is not set +# CONFIG_LPC32XX_GPIO is not set +# CONFIG_MCP230XX_GPIO is not set +# CONFIG_MSM_GPIO is not set +# CONFIG_MXC_GPIO is not set +# CONFIG_MXS_GPIO is not set +# CONFIG_NPCM_GPIO is not set +# CONFIG_CMD_PCA953X is not set +# CONFIG_ROCKCHIP_GPIO is not set +# CONFIG_XILINX_GPIO is not set +# CONFIG_TCA642X is not set +# CONFIG_TEGRA_GPIO is not set +# CONFIG_TEGRA186_GPIO is not set +# CONFIG_VYBRID_GPIO is not set +# CONFIG_SIFIVE_GPIO is not set +# CONFIG_ZYNQ_GPIO is not set +# CONFIG_DM_74X164 is not set +# CONFIG_SPL_DM_PCA953X is not set +# CONFIG_PCA953X is not set +# CONFIG_MPC8XXX_GPIO is not set +# CONFIG_MPC8XX_GPIO is not set +# CONFIG_NX_GPIO is not set +# CONFIG_NOMADIK_GPIO is not set +# CONFIG_SLG7XL45106_I2C_GPO is not set +# CONFIG_FTGPIO010 is not set + +# +# Hardware Spinlock Support +# +# CONFIG_DM_HWSPINLOCK is not set +CONFIG_I2C=y +# CONFIG_DM_I2C is not set +# CONFIG_SYS_I2C_LEGACY is not set +# CONFIG_SPL_SYS_I2C_LEGACY is not set +# CONFIG_TPL_SYS_I2C_LEGACY is not set +# CONFIG_SYS_I2C_FSL is not set +# CONFIG_SYS_I2C_DW is not set +# CONFIG_SYS_I2C_IMX_LPI2C is not set +# CONFIG_SYS_I2C_MTK is not set +# CONFIG_SYS_I2C_MICROCHIP is not set +# CONFIG_SYS_I2C_MXC is not set +# CONFIG_SYS_I2C_NPCM is not set +# CONFIG_SYS_I2C_SOFT is not set +# CONFIG_SYS_I2C_MV is not set +# CONFIG_SYS_I2C_MVTWSI is not set +CONFIG_INPUT=y +# CONFIG_SPL_INPUT is not set +CONFIG_DM_KEYBOARD=y +# CONFIG_SPL_DM_KEYBOARD is not set +# CONFIG_BUTTON_KEYBOARD is not set +# CONFIG_CROS_EC_KEYB is not set +CONFIG_I8042_KEYB=y +# CONFIG_TEGRA_KEYBOARD is not set +# CONFIG_TWL4030_INPUT is not set + +# +# IOMMU device drivers +# +# CONFIG_IOMMU is not set + +# +# LED Support +# +# CONFIG_LED is not set +# CONFIG_SPL_LED is not set +# CONFIG_LED_STATUS is not set + +# +# Mailbox Controller Support +# +# CONFIG_DM_MAILBOX is not set + +# +# Memory Controller drivers +# +# CONFIG_MEMORY is not set +# CONFIG_ATMEL_EBI is not set +# CONFIG_MFD_ATMEL_SMC is not set + +# +# Multifunction device drivers +# +# CONFIG_MISC is not set +# CONFIG_SPL_MISC is not set +# CONFIG_NVMEM is not set +# CONFIG_SPL_NVMEM is not set +# CONFIG_SMSC_LPC47M is not set +# CONFIG_SMSC_SIO1007 is not set +CONFIG_CBMEM_CONSOLE=y +# CONFIG_CROS_EC is not set +# CONFIG_DS4510 is not set +# CONFIG_FSL_SEC_MON is not set +CONFIG_IRQ=y +# CONFIG_NPCM_HOST is not set +# CONFIG_NUVOTON_NCT6102D is not set +# CONFIG_P2SB is not set +# CONFIG_PWRSEQ is not set +# CONFIG_PCA9551_LED is not set +# CONFIG_TEST_DRV is not set +# CONFIG_USB_HUB_USB251XB is not set +# CONFIG_TWL4030_LED is not set +# CONFIG_WINBOND_W83627 is not set +# CONFIG_FS_LOADER is not set +# CONFIG_SPL_FS_LOADER is not set +# CONFIG_SPL_SOCFPGA_DT_REG is not set + +# +# MMC Host controller Support +# +CONFIG_MMC=y +CONFIG_MMC_WRITE=y +# CONFIG_MMC_BROKEN_CD is not set +CONFIG_DM_MMC=y +CONFIG_SPL_DM_MMC=y +# CONFIG_ARM_PL180_MMCI is not set +CONFIG_MMC_QUIRKS=y +CONFIG_SYS_MMC_MAX_BLK_COUNT=65535 +CONFIG_MMC_HW_PARTITIONING=y +# CONFIG_SUPPORT_EMMC_RPMB is not set +# CONFIG_SUPPORT_EMMC_BOOT is not set +# CONFIG_MMC_IO_VOLTAGE is not set +# CONFIG_MMC_HS400_ES_SUPPORT is not set +# CONFIG_MMC_HS400_SUPPORT is not set +# CONFIG_MMC_HS200_SUPPORT is not set +CONFIG_MMC_VERBOSE=y +# CONFIG_MMC_TRACE is not set +# CONFIG_MMC_DW is not set +# CONFIG_MMC_MXC is not set +CONFIG_MMC_PCI=y +# CONFIG_MMC_OMAP_HS is not set +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_SDMA=y +# CONFIG_MMC_SDHCI_ADMA is not set +# CONFIG_MMC_SDHCI_ADMA_FORCE_32BIT is not set +# CONFIG_MMC_SDHCI_ADMA_64BIT is not set +# CONFIG_MMC_SDHCI_BCMSTB is not set +# CONFIG_MMC_SDHCI_CADENCE is not set +# CONFIG_MMC_SDHCI_CV1800B is not set +# CONFIG_MMC_SDHCI_IPROC is not set +# CONFIG_MMC_SDHCI_F_SDH30 is not set +# CONFIG_MMC_SDHCI_KONA is not set +# CONFIG_MMC_SDHCI_MSM is not set +# CONFIG_MMC_SDHCI_NPCM is not set +# CONFIG_MMC_SDHCI_S5P is not set +# CONFIG_MMC_SDHCI_STI is not set +# CONFIG_MMC_SDHCI_XENON is not set +# CONFIG_MMC_SDHCI_TANGIER is not set +# CONFIG_MMC_SDHCI_ZYNQ is not set +# CONFIG_MMC_PITON is not set +# CONFIG_STM32_SDMMC2 is not set +# CONFIG_FTSDC010 is not set +# CONFIG_FSL_ESDHC is not set +# CONFIG_FSL_ESDHC_IMX is not set + +# +# MTD Support +# +CONFIG_MTD=y +# CONFIG_DM_MTD is not set +# CONFIG_MTD_NOR_FLASH is not set +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_SYS_MTDPARTS_RUNTIME is not set +# CONFIG_FLASH_CFI_DRIVER is not set +# CONFIG_HBMC_AM654 is not set +# CONFIG_SAMSUNG_ONENAND is not set +# CONFIG_USE_SYS_MAX_FLASH_BANKS is not set +# CONFIG_MTD_RAW_NAND is not set + +# +# SPI Flash Support +# +# CONFIG_SPI_FLASH is not set + +# +# UBI support +# +# CONFIG_UBI_SILENCE_MSG is not set +# CONFIG_MTD_UBI is not set +# CONFIG_NVMXIP is not set +# CONFIG_NVMXIP_QSPI is not set + +# +# Multiplexer drivers +# +# CONFIG_MULTIPLEXER is not set +# CONFIG_BITBANGMII is not set +# CONFIG_MV88E6352_SWITCH is not set +CONFIG_PHYLIB=y +# CONFIG_PHY_ADDR_ENABLE is not set +CONFIG_PHY_ANEG_TIMEOUT=4000 +# CONFIG_B53_SWITCH is not set +# CONFIG_MV88E61XX_SWITCH is not set +# CONFIG_PHYLIB_10G is not set +# CONFIG_PHY_ADIN is not set +# CONFIG_PHY_AQUANTIA is not set +# CONFIG_PHY_ATHEROS is not set +# CONFIG_SPL_PHY_ATHEROS is not set +# CONFIG_PHY_BROADCOM is not set +# CONFIG_PHY_CORTINA is not set +# CONFIG_PHY_DAVICOM is not set +# CONFIG_PHY_ET1011C is not set +# CONFIG_PHY_LXT is not set +# CONFIG_PHY_MARVELL is not set +# CONFIG_PHY_MARVELL_10G is not set +# CONFIG_PHY_MESON_GXL is not set +# CONFIG_PHY_MICREL is not set +# CONFIG_PHY_MOTORCOMM is not set +# CONFIG_PHY_MSCC is not set +# CONFIG_PHY_NATSEMI is not set +# CONFIG_PHY_NXP_C45_TJA11XX is not set +# CONFIG_PHY_NXP_TJA11XX is not set +# CONFIG_PHY_REALTEK is not set +# CONFIG_PHY_SMSC is not set +# CONFIG_PHY_TERANETICS is not set +# CONFIG_PHY_TI is not set +# CONFIG_PHY_TI_DP83867 is not set +# CONFIG_PHY_TI_DP83869 is not set +# CONFIG_PHY_TI_GENERIC is not set +# CONFIG_PHY_VITESSE is not set +# CONFIG_PHY_XILINX is not set +# CONFIG_PHY_XILINX_GMII2RGMII is not set +# CONFIG_PHY_XWAY is not set +# CONFIG_PHY_ETHERNET_ID is not set +# CONFIG_PHY_FIXED is not set +# CONFIG_PHY_NCSI is not set +# CONFIG_FSL_MEMAC is not set +CONFIG_PHY_RESET_DELAY=0 +# CONFIG_FSL_PFE is not set +CONFIG_ETH=y +CONFIG_DM_ETH=y +# CONFIG_DM_MDIO is not set +# CONFIG_DM_ETH_PHY is not set +CONFIG_NETDEVICES=y +# CONFIG_PHY_GIGE is not set +# CONFIG_ALTERA_TSE is not set +# CONFIG_BCM_SF2_ETH is not set +# CONFIG_BCMGENET is not set +# CONFIG_BNXT_ETH is not set +# CONFIG_CALXEDA_XGMAC is not set +# CONFIG_DWC_ETH_XGMAC is not set +# CONFIG_DRIVER_DM9000 is not set +# CONFIG_DWC_ETH_QOS is not set +CONFIG_E1000=y +# CONFIG_E1000_NO_NVM is not set +# CONFIG_E1000_SPI_GENERIC is not set +# CONFIG_E1000_SPI is not set +# CONFIG_CMD_E1000 is not set +# CONFIG_EEPRO100 is not set +CONFIG_ETH_DESIGNWARE=y +# CONFIG_ETH_DESIGNWARE_MESON8B is not set +# CONFIG_ETH_DESIGNWARE_SOCFPGA is not set +# CONFIG_ETH_DESIGNWARE_S700 is not set +# CONFIG_DW_ALTDESCRIPTOR is not set +# CONFIG_ETHOC is not set +# CONFIG_FTMAC100 is not set +# CONFIG_FTGMAC100 is not set +# CONFIG_MCFFEC is not set +# CONFIG_KS8851_MLL is not set +# CONFIG_LITEETH is not set +# CONFIG_MACB is not set +# CONFIG_NET_NPCM750 is not set +CONFIG_PCH_GBE=y +# CONFIG_RGMII is not set +# CONFIG_MII is not set +# CONFIG_RMII is not set +# CONFIG_PCNET is not set +# CONFIG_QE_UEC is not set +# CONFIG_RTL8139 is not set +CONFIG_RTL8169=y +# CONFIG_SMC911X is not set +# CONFIG_SUN7I_GMAC is not set +# CONFIG_SUN4I_EMAC is not set +# CONFIG_SUN8I_EMAC is not set +# CONFIG_SH_ETHER is not set +# CONFIG_DRIVER_TI_CPSW is not set +# CONFIG_DRIVER_TI_EMAC is not set +# CONFIG_DRIVER_TI_KEYSTONE_NET is not set +# CONFIG_TULIP is not set +# CONFIG_XILINX_AXIEMAC is not set +# CONFIG_VSC7385_ENET is not set +# CONFIG_XILINX_EMACLITE is not set +# CONFIG_ZYNQ_GEM is not set +# CONFIG_GMAC_ROCKCHIP is not set +# CONFIG_TSEC_ENET is not set +# CONFIG_MEDIATEK_ETH is not set +# CONFIG_HIFEMAC_ETH is not set +# CONFIG_HIGMACV300_ETH is not set +CONFIG_NVME=y +# CONFIG_NVME_APPLE is not set +CONFIG_NVME_PCI=y +# CONFIG_DM_PCI_COMPAT is not set +# CONFIG_PCI_PNP is not set +# CONFIG_PCI_REGION_MULTI_ENTRY is not set +CONFIG_PCI_CONFIG_HOST_BRIDGE=y +# CONFIG_PCI_SRIOV is not set +CONFIG_PCI_ENHANCED_ALLOCATION=y +# CONFIG_PCI_ARID is not set +# CONFIG_PCIE_ECAM_GENERIC is not set +# CONFIG_PCIE_ECAM_SYNQUACER is not set +# CONFIG_PCI_FTPCI100 is not set +# CONFIG_PCI_PHYTIUM is not set +# CONFIG_PCIE_FSL is not set +# CONFIG_PCI_MPC85XX is not set +# CONFIG_PCI_XILINX is not set +# CONFIG_PCIE_LAYERSCAPE_RC is not set +# CONFIG_PCIE_LAYERSCAPE_EP is not set +# CONFIG_PCIE_LAYERSCAPE_GEN4 is not set +# CONFIG_PCIE_INTEL_FPGA is not set +# CONFIG_PCIE_IPROC is not set +# CONFIG_PCI_KEYSTONE is not set +# CONFIG_PCIE_STARFIVE_JH7110 is not set + +# +# PCI Endpoint +# +# CONFIG_PCI_ENDPOINT is not set +CONFIG_PCH=y +CONFIG_X86_PCH7=y +CONFIG_X86_PCH9=y + +# +# PHY Subsystem +# +# CONFIG_PHY is not set +# CONFIG_SPL_PHY is not set +# CONFIG_MIPI_DPHY_HELPERS is not set + +# +# Rockchip PHY driver +# +# CONFIG_MVEBU_COMPHY_SUPPORT is not set + +# +# Pin controllers +# +# CONFIG_PINCTRL is not set +CONFIG_SPL_PINCTRL=y +CONFIG_SPL_PINCTRL_FULL=y +CONFIG_SPL_PINCTRL_GENERIC=y +CONFIG_SPL_PINMUX=y +# CONFIG_SPL_PINCONF is not set +CONFIG_SPL_PINCONF_RECURSIVE=y +# CONFIG_PINCTRL_AT91 is not set +# CONFIG_PINCTRL_AT91PIO4 is not set +# CONFIG_PINCTRL_INTEL is not set +# CONFIG_PINCTRL_QE is not set +# CONFIG_PINCTRL_ROCKCHIP_RV1108 is not set +# CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_STM32 is not set +# CONFIG_SPL_PINCTRL_STMFX is not set +# CONFIG_PINCTRL_TEGRA is not set +# CONFIG_SPL_PINCTRL_TEGRA is not set +CONFIG_POWER=y +# CONFIG_POWER_LEGACY is not set +# CONFIG_SPL_POWER_LEGACY is not set +# CONFIG_ACPI_PMC is not set +# CONFIG_SPL_ACPI_PMC is not set + +# +# Power Domain Support +# +# CONFIG_POWER_DOMAIN is not set +# CONFIG_DM_PMIC is not set +# CONFIG_PMIC_TPS65217 is not set +# CONFIG_POWER_TPS65218 is not set +# CONFIG_POWER_TPS62362 is not set +# CONFIG_SPL_POWER_TPS62362 is not set +# CONFIG_SPL_POWER_TPS65910 is not set +# CONFIG_DM_REGULATOR is not set +# CONFIG_TPS6586X_POWER is not set +# CONFIG_POWER_MT6323 is not set +# CONFIG_DM_PWM is not set +# CONFIG_PWM_IMX is not set +# CONFIG_PWM_SANDBOX is not set +# CONFIG_U_QE is not set +# CONFIG_RAM is not set + +# +# Reboot Mode Support +# +# CONFIG_DM_REBOOT_MODE is not set + +# +# Remote Processor drivers +# +CONFIG_REMOTEPROC_MAX_FW_SIZE=0x10000 + +# +# Reset Controller Support +# +# CONFIG_RESET_SCMI is not set +# CONFIG_DM_RNG is not set +# CONFIG_SPL_DM_RNG is not set + +# +# Real Time Clock +# +CONFIG_DM_RTC=y +# CONFIG_SPL_DM_RTC is not set +# CONFIG_RTC_ENABLE_32KHZ_OUTPUT is not set +# CONFIG_RTC_PCF2127 is not set +# CONFIG_RTC_DS1307 is not set +# CONFIG_RTC_DS1337 is not set +# CONFIG_RTC_DS1338 is not set +# CONFIG_RTC_DS3231 is not set +# CONFIG_RTC_EMULATION is not set +# CONFIG_RTC_GOLDFISH is not set +# CONFIG_RTC_ISL1208 is not set +# CONFIG_RTC_PCF8563 is not set +# CONFIG_RTC_PT7C4338 is not set +# CONFIG_RTC_RV3028 is not set +# CONFIG_RTC_RV3029 is not set +# CONFIG_RTC_RV8803 is not set +# CONFIG_RTC_RX8010SJ is not set +# CONFIG_RTC_RX8025 is not set +# CONFIG_RTC_PL031 is not set +# CONFIG_RTC_MV is not set +# CONFIG_RTC_S35392A is not set +CONFIG_RTC_MC146818=y +# CONFIG_RTC_M41T62 is not set +# CONFIG_RTC_STM32 is not set +# CONFIG_RTC_ABX80X is not set +# CONFIG_RTC_HT1380 is not set +CONFIG_SCSI=y +CONFIG_SERIAL=y +CONFIG_BAUDRATE=115200 +# CONFIG_DEFAULT_ENV_IS_RW is not set +CONFIG_REQUIRE_SERIAL_CONSOLE=y +# CONFIG_SPECIFY_CONSOLE_INDEX is not set +CONFIG_SERIAL_PRESENT=y +CONFIG_SPL_SERIAL_PRESENT=y +CONFIG_DM_SERIAL=y +# CONFIG_SERIAL_RX_BUFFER is not set +# CONFIG_SERIAL_PUTS is not set +# CONFIG_SERIAL_SEARCH_ALL is not set +# CONFIG_SERIAL_PROBE_ALL is not set +CONFIG_SPL_DM_SERIAL=y +# CONFIG_VPL_DM_SERIAL is not set +# CONFIG_ALTERA_JTAG_UART is not set +# CONFIG_ALTERA_UART is not set +# CONFIG_ARC_SERIAL is not set +# CONFIG_ATMEL_USART is not set +# CONFIG_BCM6345_SERIAL is not set +CONFIG_COREBOOT_SERIAL=y +CONFIG_COREBOOT_SERIAL_FROM_DBG2=y +# CONFIG_CORTINA_UART is not set +# CONFIG_FSL_LINFLEXUART is not set +# CONFIG_FSL_LPUART is not set +# CONFIG_MVEBU_A3700_UART is not set +# CONFIG_MCFUART is not set +# CONFIG_NULLDEV_SERIAL is not set +CONFIG_SYS_NS16550=y +CONFIG_NS16550_DYNAMIC=y +CONFIG_SYS_NS16550_MEM32=y +# CONFIG_SYS_NS16550_PORT_MAPPED is not set +# CONFIG_PL01X_SERIAL is not set +# CONFIG_ROCKCHIP_SERIAL is not set +# CONFIG_XILINX_UARTLITE is not set +# CONFIG_MSM_SERIAL is not set +# CONFIG_MSM_GENI_SERIAL is not set +# CONFIG_MXS_AUART_SERIAL is not set +# CONFIG_OMAP_SERIAL is not set +# CONFIG_SIFIVE_SERIAL is not set +# CONFIG_ZYNQ_SERIAL is not set +# CONFIG_MTK_SERIAL is not set +# CONFIG_MT7620_SERIAL is not set +# CONFIG_NPCM_SERIAL is not set +# CONFIG_SM is not set +# CONFIG_MESON_SM is not set +# CONFIG_SMEM is not set + +# +# Sound support +# +CONFIG_SOUND=y +# CONFIG_I2S is not set +# CONFIG_SOUND_DA7219 is not set +CONFIG_SOUND_I8254=y +# CONFIG_SOUND_INTEL_HDA is not set +# CONFIG_SOUND_IVYBRIDGE is not set +# CONFIG_SOUND_MAX98357A is not set +# CONFIG_SOUND_RT5677 is not set + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_DEVICE is not set +# CONFIG_SOC_QCOM is not set +# CONFIG_SOC_SAMSUNG is not set +# CONFIG_SOC_TI is not set +# CONFIG_SPI is not set + +# +# SPMI support +# +# CONFIG_SPMI is not set +CONFIG_SYSINFO=y +CONFIG_SYSINFO_EXTRA=y +# CONFIG_SPL_SYSINFO is not set +# CONFIG_SYSINFO_GAZERBEAM is not set +# CONFIG_SYSINFO_SANDBOX is not set +# CONFIG_SYSINFO_SMBIOS is not set +# CONFIG_SYSINFO_GPIO is not set + +# +# System reset device drivers +# +CONFIG_SYSRESET=y +CONFIG_SPL_SYSRESET=y +CONFIG_SYSRESET_CMD_RESET=y +# CONFIG_SYSRESET_CV1800B is not set +# CONFIG_POWEROFF_GPIO is not set +# CONFIG_SYSRESET_GPIO is not set +# CONFIG_SYSRESET_SYSCON is not set +# CONFIG_SYSRESET_WATCHDOG is not set +# CONFIG_SYSRESET_RESETCTL is not set +CONFIG_SYSRESET_X86=y +# CONFIG_SYSRESET_SPL_X86 is not set +# CONFIG_SYSRESET_TPL_X86 is not set +# CONFIG_SYSRESET_MPC83XX is not set +# CONFIG_DM_THERMAL is not set + +# +# Timer Support +# +CONFIG_TIMER=y +CONFIG_SPL_TIMER=y +# CONFIG_TIMER_EARLY is not set +# CONFIG_ALTERA_TIMER is not set +# CONFIG_AST_TIMER is not set +# CONFIG_ATCPIT100_TIMER is not set +# CONFIG_ATMEL_PIT_TIMER is not set +# CONFIG_SPL_ATMEL_PIT_TIMER is not set +# CONFIG_CADENCE_TTC_TIMER is not set +# CONFIG_DESIGNWARE_APB_TIMER is not set +# CONFIG_FTTMR010_TIMER is not set +# CONFIG_GXP_TIMER is not set +# CONFIG_MPC83XX_TIMER is not set +# CONFIG_RENESAS_OSTM_TIMER is not set +# CONFIG_NOMADIK_MTU_TIMER is not set +# CONFIG_NPCM_TIMER is not set +# CONFIG_OMAP_TIMER is not set +# CONFIG_ORION_TIMER is not set +# CONFIG_ROCKCHIP_TIMER is not set +# CONFIG_SP804_TIMER is not set +# CONFIG_STM32_TIMER is not set +# CONFIG_TEGRA_TIMER is not set +CONFIG_X86_TSC_TIMER=y +CONFIG_X86_TSC_READ_BASE=y +# CONFIG_MTK_TIMER is not set +# CONFIG_MCHP_PIT64B_TIMER is not set +# CONFIG_IMX_GPT_TIMER is not set +# CONFIG_XILINX_TIMER is not set +# CONFIG_STARFIVE_TIMER is not set + +# +# TPM support +# +CONFIG_USB=y +CONFIG_DM_USB=y +CONFIG_SPL_DM_USB=y +# CONFIG_DM_USB_GADGET is not set +# CONFIG_SPL_DM_USB_GADGET is not set + +# +# USB Host Controller Drivers +# +CONFIG_USB_HOST=y +# CONFIG_SPL_USB_HOST is not set +CONFIG_USB_XHCI_HCD=y +# CONFIG_USB_XHCI_DWC3 is not set +# CONFIG_USB_XHCI_DWC3_OF_SIMPLE is not set +CONFIG_USB_XHCI_PCI=y +# CONFIG_USB_XHCI_FSL is not set +# CONFIG_USB_XHCI_BRCM is not set +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_MSM is not set +CONFIG_USB_EHCI_PCI=y +# CONFIG_USB_EHCI_ZYNQ is not set +# CONFIG_USB_EHCI_GENERIC is not set +# CONFIG_USB_EHCI_FSL is not set +# CONFIG_USB_OHCI_HCD is not set +# CONFIG_USB_UHCI_HCD is not set +# CONFIG_USB_DWC2 is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_ISP1760 is not set +# CONFIG_USB_CDNS3 is not set +# CONFIG_USB_DWC3 is not set + +# +# Legacy MUSB Support +# +# CONFIG_USB_MUSB_HCD is not set +# CONFIG_USB_MUSB_UDC is not set + +# +# MUSB Controller Driver +# +# CONFIG_USB_MUSB_HOST is not set +# CONFIG_USB_MUSB_PIO_ONLY is not set + +# +# USB Phy +# +# CONFIG_TWL4030_USB is not set +# CONFIG_ROCKCHIP_USB2_PHY is not set + +# +# ULPI drivers +# + +# +# USB peripherals +# +CONFIG_USB_STORAGE=y +CONFIG_USB_KEYBOARD=y +# CONFIG_USB_ONBOARD_HUB is not set +CONFIG_USB_HUB_DEBOUNCE_TIMEOUT=1000 +CONFIG_USB_KEYBOARD_FN_KEYS=y +CONFIG_SYS_USB_EVENT_POLL=y +# CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE is not set +# CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP is not set +CONFIG_USB_HOST_ETHER=y +CONFIG_USB_ETHER_ASIX=y +# CONFIG_USB_ETHER_ASIX88179 is not set +# CONFIG_USB_ETHER_LAN75XX is not set +# CONFIG_USB_ETHER_LAN78XX is not set +# CONFIG_USB_ETHER_MCS7830 is not set +# CONFIG_USB_ETHER_RTL8152 is not set +CONFIG_USB_ETHER_SMSC95XX=y +# CONFIG_USB_GADGET is not set +# CONFIG_SPL_USB_GADGET is not set + +# +# UFS Host Controller Support +# +# CONFIG_UFS is not set +# CONFIG_TI_J721E_UFS is not set + +# +# Graphics support +# +CONFIG_VIDEO=y +# CONFIG_VIDEO_FONT_4X6 is not set +CONFIG_VIDEO_FONT_8X16=y +# CONFIG_VIDEO_FONT_SUN12X22 is not set +# CONFIG_VIDEO_FONT_16X32 is not set +CONFIG_VIDEO_LOGO=y +CONFIG_BACKLIGHT=y +CONFIG_VIDEO_PCI_DEFAULT_FB_SIZE=0x1000000 +CONFIG_VIDEO_COPY=y +# CONFIG_BACKLIGHT_GPIO is not set +CONFIG_VIDEO_BPP8=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_VIDEO_ANSI=y +# CONFIG_VIDEO_MIPI_DSI is not set +CONFIG_CONSOLE_NORMAL=y +# CONFIG_CONSOLE_ROTATION is not set +CONFIG_CONSOLE_TRUETYPE=y +CONFIG_CONSOLE_TRUETYPE_SIZE=18 +CONFIG_CONSOLE_TRUETYPE_MAX_METRICS=10 +CONFIG_SYS_WHITE_ON_BLACK=y +# CONFIG_NO_FB_CLEAR is not set +CONFIG_VIDEO_SYNC_MS=100 +CONFIG_VIDEO_SYNC_CYCLIC_MS=10 +CONFIG_PANEL=y +CONFIG_SIMPLE_PANEL=y +# CONFIG_PANEL_HX8238D is not set + +# +# TrueType Fonts +# +CONFIG_CONSOLE_TRUETYPE_NIMBUS=y +# CONFIG_CONSOLE_TRUETYPE_ANKACODER is not set +# CONFIG_CONSOLE_TRUETYPE_RUFSCRIPT is not set +# CONFIG_CONSOLE_TRUETYPE_CANTORAONE is not set +# CONFIG_VIDCONSOLE_AS_LCD is not set +# CONFIG_VIDEO_BOCHS is not set +CONFIG_VIDEO_COREBOOT=y +# CONFIG_VIDEO_VESA is not set +# CONFIG_VIDEO_LCD_ANX9804 is not set +# CONFIG_ATMEL_LCD_BGR555 is not set +# CONFIG_VIDEO_BCM2835 is not set +# CONFIG_VIDEO_LCD_ENDEAVORU is not set +# CONFIG_VIDEO_LCD_HIMAX_HX8394 is not set +# CONFIG_VIDEO_LCD_ORISETECH_OTM8009A is not set +# CONFIG_VIDEO_LCD_LG_LD070WX3 is not set +# CONFIG_VIDEO_LCD_RAYDIUM_RM68200 is not set +# CONFIG_VIDEO_LCD_RENESAS_R61307 is not set +# CONFIG_VIDEO_LCD_RENESAS_R69328 is not set +# CONFIG_VIDEO_LCD_SAMSUNG_LTL106HL02 is not set +# CONFIG_VIDEO_LCD_SSD2828 is not set +# CONFIG_VIDEO_LCD_TDO_TL070WSH30 is not set +# CONFIG_VIDEO_LCD_HITACHI_TX18D42VM is not set +# CONFIG_VIDEO_MESON is not set +# CONFIG_VIDEO_MVEBU is not set +# CONFIG_I2C_EDID is not set +# CONFIG_DISPLAY is not set +# CONFIG_ATMEL_HLCD is not set +# CONFIG_BACKLIGHT_LM3533 is not set +# CONFIG_AM335X_LCD is not set +# CONFIG_VIDEO_EXYNOS is not set +# CONFIG_VIDEO_BROADWELL_IGD is not set +# CONFIG_VIDEO_IVYBRIDGE_IGD is not set +# CONFIG_VIDEO_ROCKCHIP is not set +# CONFIG_VIDEO_ARM_MALIDP is not set +# CONFIG_VIDEO_STM32 is not set +# CONFIG_VIDEO_TIDSS is not set +# CONFIG_VIDEO_TEGRA124 is not set +# CONFIG_VIDEO_BRIDGE is not set +# CONFIG_VIDEO_BRIDGE_PARADE_DP501 is not set +# CONFIG_VIDEO_BRIDGE_SOLOMON_SSD2825 is not set +# CONFIG_VIDEO_BRIDGE_TOSHIBA_TC358768 is not set +# CONFIG_VIDEO_TEGRA20 is not set +# CONFIG_VIDEO_DSI_TEGRA30 is not set +# CONFIG_TEGRA_BACKLIGHT_PWM is not set +# CONFIG_VIDEO_MXS is not set +# CONFIG_VIDEO_SEPS525 is not set +CONFIG_CONSOLE_SCROLL_LINES=5 +# CONFIG_VIDEO_SIMPLE is not set +# CONFIG_VIDEO_DT_SIMPLEFB is not set +# CONFIG_VIDEO_MCDE_SIMPLE is not set +# CONFIG_OSD is not set +# CONFIG_VIDEO_REMOVE is not set +# CONFIG_SPLASH_SCREEN is not set +# CONFIG_BMP is not set +CONFIG_VIDEO_LOGO_MAX_SIZE=0x100000 +CONFIG_VIDEO_BMP_RLE8=y +# CONFIG_BMP_16BPP is not set +# CONFIG_BMP_24BPP is not set +# CONFIG_BMP_32BPP is not set +# CONFIG_SPL_VIDEO is not set + +# +# VirtIO Drivers +# +# CONFIG_VIRTIO_MMIO is not set +# CONFIG_VIRTIO_PCI is not set +# CONFIG_VIRTIO_PCI_LEGACY is not set + +# +# 1-Wire support +# +# CONFIG_W1 is not set + +# +# 1-wire EEPROM support +# +# CONFIG_W1_EEPROM is not set + +# +# Watchdog Timer Support +# +# CONFIG_WATCHDOG is not set +# CONFIG_IMX_WATCHDOG is not set +# CONFIG_ULP_WATCHDOG is not set +# CONFIG_WDT is not set +# CONFIG_SPL_WDT is not set +# CONFIG_PHYS_TO_BUS is not set + +# +# File systems +# +# CONFIG_FS_BTRFS is not set +CONFIG_FS_CBFS=y +# CONFIG_SPL_FS_CBFS is not set +CONFIG_FS_EXT4=y +CONFIG_EXT4_WRITE=y +CONFIG_FS_FAT=y +CONFIG_FAT_WRITE=y +CONFIG_FS_FAT_MAX_CLUSTSIZE=65536 +# CONFIG_FS_JFFS2 is not set +# CONFIG_UBIFS_SILENCE_MSG is not set +# CONFIG_UBIFS_SILENCE_DEBUG_DUMP is not set +# CONFIG_FS_CRAMFS is not set +# CONFIG_YAFFS2 is not set +# CONFIG_FS_SQUASHFS is not set +# CONFIG_FS_EROFS is not set + +# +# Library routines +# +# CONFIG_ADDR_MAP is not set +# CONFIG_SYS_TIMER_COUNTS_DOWN is not set +CONFIG_PHYSMEM=y +# CONFIG_BCH is not set +CONFIG_BINMAN_FDT=y +# CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set +CONFIG_CHARSET=y +# CONFIG_DYNAMIC_CRC_TABLE is not set +CONFIG_HAVE_ARCH_IOMAP=y +CONFIG_HAVE_PRIVATE_LIBGCC=y +CONFIG_LIB_UUID=y +# CONFIG_RANDOM_UUID is not set +CONFIG_PRINTF=y +CONFIG_SPL_PRINTF=y +CONFIG_SPRINTF=y +CONFIG_SPL_SPRINTF=y +CONFIG_STRTO=y +CONFIG_SPL_STRTO=y +CONFIG_USE_PRIVATE_LIBGCC=y +CONFIG_SYS_HZ=1000 +CONFIG_SPL_USE_TINY_PRINTF=y +# CONFIG_PANIC_HANG is not set +CONFIG_REGEX=y +CONFIG_LIB_RAND=y +# CONFIG_LIB_HW_RAND is not set +CONFIG_SUPPORT_ACPI=y +CONFIG_ACPI=y +CONFIG_SPL_ACPI=y +# CONFIG_GENERATE_ACPI_TABLE is not set +# CONFIG_SPL_TINY_MEMSET is not set +# CONFIG_BITREVERSE is not set +# CONFIG_TRACE is not set +# CONFIG_CIRCBUF is not set +CONFIG_CMD_DHRYSTONE=y + +# +# Security support +# +# CONFIG_AES is not set +# CONFIG_ECDSA is not set +CONFIG_RSA=y +# CONFIG_SPL_RSA is not set +CONFIG_RSA_VERIFY=y +# CONFIG_RSA_VERIFY_WITH_PKEY is not set +# CONFIG_SPL_RSA_VERIFY_WITH_PKEY is not set +CONFIG_RSA_SOFTWARE_EXP=y +# CONFIG_ASYMMETRIC_KEY_TYPE is not set +# CONFIG_TPM is not set +# CONFIG_SPL_TPM is not set + +# +# Android Verified Boot +# + +# +# Hashing Support +# +# CONFIG_BLAKE2 is not set +CONFIG_SHA1=y +CONFIG_SHA256=y +# CONFIG_SHA512 is not set +# CONFIG_SHA384 is not set +# CONFIG_SHA_HW_ACCEL is not set +# CONFIG_SPL_CRC32 is not set +CONFIG_SPL_SHA1=y +CONFIG_SPL_SHA256=y +# CONFIG_SPL_SHA512 is not set +# CONFIG_SPL_SHA384 is not set +# CONFIG_SPL_SHA_HW_ACCEL is not set +CONFIG_MD5=y +# CONFIG_SPL_MD5 is not set +CONFIG_CRC8=y +# CONFIG_SPL_CRC8 is not set +# CONFIG_SPL_CRC16 is not set +CONFIG_CRC32=y + +# +# Compression Support +# +# CONFIG_LZ4 is not set +# CONFIG_LZMA is not set +# CONFIG_LZO is not set +# CONFIG_GZIP is not set +# CONFIG_ZLIB_UNCOMPRESS is not set +# CONFIG_BZIP2 is not set +CONFIG_ZLIB=y +# CONFIG_ZSTD is not set +# CONFIG_SPL_BZIP2 is not set +# CONFIG_SPL_LZ4 is not set +# CONFIG_SPL_LZMA is not set +# CONFIG_VPL_LZMA is not set +# CONFIG_SPL_LZO is not set +# CONFIG_SPL_GZIP is not set +# CONFIG_SPL_ZSTD is not set +# CONFIG_ERRNO_STR is not set +# CONFIG_HEXDUMP is not set +# CONFIG_GETOPT is not set +CONFIG_OF_LIBFDT=y +CONFIG_OF_LIBFDT_ASSUME_MASK=0x0 +CONFIG_SYS_FDT_PAD=0x3000 +CONFIG_SPL_OF_LIBFDT=y +CONFIG_SPL_OF_LIBFDT_ASSUME_MASK=0xff +# CONFIG_LIB_RATIONAL is not set +# CONFIG_SPL_LIB_RATIONAL is not set +CONFIG_SMBIOS=y +CONFIG_SMBIOS_PARSER=y +# CONFIG_EFI is not set +CONFIG_EFI_LOADER=y +CONFIG_EFI_BINARY_EXEC=y +CONFIG_EFI_BOOTMGR=y +CONFIG_EFI_VARIABLE_FILE_STORE=y +# CONFIG_EFI_RT_VOLATILE_STORE is not set +# CONFIG_EFI_VARIABLE_NO_STORE is not set +# CONFIG_EFI_VARIABLES_PRESEED is not set +CONFIG_EFI_VAR_BUF_SIZE=131072 +CONFIG_EFI_GET_TIME=y +# CONFIG_EFI_SET_TIME is not set +# CONFIG_EFI_SCROLL_ON_CLEAR_SCREEN is not set +# CONFIG_EFI_RUNTIME_UPDATE_CAPSULE is not set +# CONFIG_EFI_CAPSULE_ON_DISK is not set +CONFIG_EFI_CAPSULE_MAX=15 +CONFIG_EFI_DEVICE_PATH_TO_TEXT=y +CONFIG_EFI_DEVICE_PATH_UTIL=y +CONFIG_EFI_DT_FIXUP=y +CONFIG_EFI_LOADER_HII=y +CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=y +CONFIG_EFI_UNICODE_CAPITALIZATION=y +# CONFIG_EFI_LOADER_BOUNCE_BUFFER is not set +CONFIG_EFI_PLATFORM_LANG_CODES="en-US" +CONFIG_EFI_HAVE_RUNTIME_RESET=y +CONFIG_EFI_LOAD_FILE2_INITRD=y +# CONFIG_EFI_SECURE_BOOT is not set +CONFIG_EFI_ECPT=y +CONFIG_EFI_EBBR_2_1_CONFORMANCE=y +# CONFIG_EFI_HTTP_BOOT is not set +# CONFIG_OPTEE_LIB is not set +# CONFIG_OPTEE_IMAGE is not set +# CONFIG_BOOTM_OPTEE is not set +# CONFIG_TEST_FDTDEC is not set +CONFIG_LIB_DATE=y +CONFIG_LIB_ELF=y +CONFIG_LMB=y +CONFIG_LMB_USE_MAX_REGIONS=y +CONFIG_LMB_MAX_REGIONS=16 +# CONFIG_PHANDLE_CHECK_SEQ is not set + +# +# Testing +# +# CONFIG_UNIT_TEST is not set +# CONFIG_SPL_UNIT_TEST is not set +# CONFIG_POST is not set + +# +# Tools options +# +CONFIG_MKIMAGE_DTC_PATH="dtc" +CONFIG_TOOLS_CRC32=y +CONFIG_TOOLS_LIBCRYPTO=y +CONFIG_TOOLS_KWBIMAGE=y +CONFIG_TOOLS_FIT=y +CONFIG_TOOLS_FIT_FULL_CHECK=y +CONFIG_TOOLS_FIT_PRINT=y +CONFIG_TOOLS_FIT_RSASSA_PSS=y +CONFIG_TOOLS_FIT_SIGNATURE=y +CONFIG_TOOLS_FIT_SIGNATURE_MAX_SIZE=0x10000000 +CONFIG_TOOLS_FIT_VERBOSE=y +CONFIG_TOOLS_MD5=y +CONFIG_TOOLS_OF_LIBFDT=y +CONFIG_TOOLS_SHA1=y +CONFIG_TOOLS_SHA256=y +CONFIG_TOOLS_SHA384=y +CONFIG_TOOLS_SHA512=y +CONFIG_TOOLS_MKEFICAPSULE=y +# CONFIG_FSPI_CONF_HEADER is not set +# CONFIG_TOOLS_MKFWUMDATA is not set diff --git a/config/module/u-boot/amd64coreboot/target.cfg b/config/module/u-boot/amd64coreboot/target.cfg new file mode 100644 index 00000000..898650ed --- /dev/null +++ b/config/module/u-boot/amd64coreboot/target.cfg @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +tree="x86_64" diff --git a/config/module/u-boot/default/nuke.list b/config/module/u-boot/default/nuke.list new file mode 100644 index 00000000..f3a3fcc3 --- /dev/null +++ b/config/module/u-boot/default/nuke.list @@ -0,0 +1 @@ +test/lib/strlcat.c diff --git a/config/module/u-boot/default/patches/0001-clk-rockchip-rk3399-Set-hardcoded-clock-rates-same-a.patch b/config/module/u-boot/default/patches/0001-clk-rockchip-rk3399-Set-hardcoded-clock-rates-same-a.patch new file mode 100644 index 00000000..8227b076 --- /dev/null +++ b/config/module/u-boot/default/patches/0001-clk-rockchip-rk3399-Set-hardcoded-clock-rates-same-a.patch @@ -0,0 +1,100 @@ +From ee94f55d37fc8c133faa5055184f75f99830cfdc Mon Sep 17 00:00:00 2001 +From: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Date: Fri, 8 Oct 2021 17:33:22 +0300 +Subject: [PATCH] clk: rockchip: rk3399: Set hardcoded clock rates same as + devicetree + +Update hardcoded RK3399 clock rate definitions to match those in its +devicetree (rk3399.dtsi), based on clock-controller assigned-clocks. +Add and initialize NPLL since it's on that list, though nothing seems to +use it in the driver so far. + +Also update VOP ACLK to 400MHz as it divides from CPLL (now 800MHz). +All this stops the displayed vendor bitmap from getting disfigured +when chainloading U-Boot from coreboot+depthcharge (as RW_LEGACY). + +Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Link: https://github.com/alpernebbi/u-boot/commit/7e73b7a7550cfdd22a1413c263026e41e56e7617 +--- + .../include/asm/arch-rockchip/cru_rk3399.h | 19 ++++++++++--------- + drivers/clk/rockchip/clk_rk3399.c | 10 ++++++---- + 2 files changed, 16 insertions(+), 13 deletions(-) + +diff --git a/arch/arm/include/asm/arch-rockchip/cru_rk3399.h b/arch/arm/include/asm/arch-rockchip/cru_rk3399.h +index d941a129f3e5..54035c0df1f3 100644 +--- a/arch/arm/include/asm/arch-rockchip/cru_rk3399.h ++++ b/arch/arm/include/asm/arch-rockchip/cru_rk3399.h +@@ -69,7 +69,8 @@ check_member(rockchip_cru, sdio1_con[1], 0x594); + #define LPLL_HZ (600*MHz) + #define BPLL_HZ (600*MHz) + #define GPLL_HZ (594*MHz) +-#define CPLL_HZ (384*MHz) ++#define CPLL_HZ (800*MHz) ++#define NPLL_HZ (1000*MHz) + #define PPLL_HZ (676*MHz) + + #define PMU_PCLK_HZ (48*MHz) +@@ -82,16 +83,16 @@ check_member(rockchip_cru, sdio1_con[1], 0x594); + #define ATCLK_CORE_B_HZ (300*MHz) + #define PCLK_DBG_B_HZ (100*MHz) + +-#define PERIHP_ACLK_HZ (148500*KHz) +-#define PERIHP_HCLK_HZ (148500*KHz) +-#define PERIHP_PCLK_HZ (37125*KHz) ++#define PERIHP_ACLK_HZ (150*MHz) ++#define PERIHP_HCLK_HZ (75*MHz) ++#define PERIHP_PCLK_HZ (37500*KHz) + +-#define PERILP0_ACLK_HZ (99000*KHz) +-#define PERILP0_HCLK_HZ (99000*KHz) +-#define PERILP0_PCLK_HZ (49500*KHz) ++#define PERILP0_ACLK_HZ (100*MHz) ++#define PERILP0_HCLK_HZ (100*MHz) ++#define PERILP0_PCLK_HZ (50*MHz) + +-#define PERILP1_HCLK_HZ (99000*KHz) +-#define PERILP1_PCLK_HZ (49500*KHz) ++#define PERILP1_HCLK_HZ (100*MHz) ++#define PERILP1_PCLK_HZ (50*MHz) + + #define PWM_CLOCK_HZ PMU_PCLK_HZ + +diff --git a/drivers/clk/rockchip/clk_rk3399.c b/drivers/clk/rockchip/clk_rk3399.c +index 6e87db18be07..1b8ffe9e794e 100644 +--- a/drivers/clk/rockchip/clk_rk3399.c ++++ b/drivers/clk/rockchip/clk_rk3399.c +@@ -53,10 +53,11 @@ struct pll_div { + .fbdiv = (u32)((u64)hz * _refdiv * _postdiv1 * _postdiv2 / OSC_HZ),\ + .postdiv1 = _postdiv1, .postdiv2 = _postdiv2}; + +-static const struct pll_div gpll_init_cfg = PLL_DIVISORS(GPLL_HZ, 2, 2, 1); +-static const struct pll_div cpll_init_cfg = PLL_DIVISORS(CPLL_HZ, 1, 2, 2); ++static const struct pll_div gpll_init_cfg = PLL_DIVISORS(GPLL_HZ, 1, 4, 1); ++static const struct pll_div cpll_init_cfg = PLL_DIVISORS(CPLL_HZ, 1, 3, 1); ++static const struct pll_div npll_init_cfg = PLL_DIVISORS(NPLL_HZ, 1, 3, 1); + #if !defined(CONFIG_XPL_BUILD) +-static const struct pll_div ppll_init_cfg = PLL_DIVISORS(PPLL_HZ, 2, 2, 1); ++static const struct pll_div ppll_init_cfg = PLL_DIVISORS(PPLL_HZ, 3, 2, 1); + #endif + + static const struct pll_div apll_l_1600_cfg = PLL_DIVISORS(1600 * MHz, 3, 1, 1); +@@ -681,7 +682,7 @@ static ulong rk3399_spi_set_clk(struct rockchip_cru *cru, ulong clk_id, uint hz) + static ulong rk3399_vop_set_clk(struct rockchip_cru *cru, ulong clk_id, u32 hz) + { + struct pll_div vpll_config = {0}; +- int aclk_vop = 198 * MHz; ++ int aclk_vop = 400 * MHz; + void *aclkreg_addr, *dclkreg_addr; + u32 div; + +@@ -1394,6 +1395,7 @@ static void rkclk_init(struct rockchip_cru *cru) + /* configure gpll cpll */ + rkclk_set_pll(&cru->gpll_con[0], &gpll_init_cfg); + rkclk_set_pll(&cru->cpll_con[0], &cpll_init_cfg); ++ rkclk_set_pll(&cru->npll_con[0], &npll_init_cfg); + + /* configure perihp aclk, hclk, pclk */ + aclk_div = GPLL_HZ / PERIHP_ACLK_HZ - 1; +-- +2.49.0 + diff --git a/config/module/u-boot/default/patches/0002-video-improve-UEFI-experience-on-DM_VIDEO.patch b/config/module/u-boot/default/patches/0002-video-improve-UEFI-experience-on-DM_VIDEO.patch new file mode 100644 index 00000000..e2de311c --- /dev/null +++ b/config/module/u-boot/default/patches/0002-video-improve-UEFI-experience-on-DM_VIDEO.patch @@ -0,0 +1,246 @@ +From 780d8ffe985441824a242e5b853721dfe14435dd Mon Sep 17 00:00:00 2001 +From: Andre Przywara <andre.przywara@arm.com> +Date: Mon, 10 Jan 2022 00:56:31 +0000 +Subject: [PATCH 1/3] video: Add cursor support for video consoles + +So far the video console is completely lacking any cursor, which makes +typing and correcting quite irritating. + +Add a simple cursor display by writing a SPACE glyph in the background +colour to the next character position on the screen. Any typed character +will naturally overwrite it, so we need to only explicitly clear it if +the next character will appear somewhere else (newline, backspace). + +Signed-off-by: Andre Przywara <andre.przywara@arm.com> +Reviewed-by: Simon Glass <sjg@chromium.org> +Tested-by: Simon Glass <sjg@chromium.org> +Link: https://lore.kernel.org/r/20220110005638.21599-2-andre.przywara@arm.com +[Alper: Rebase for console_set_font(), reword for CONFIG_VIDEO] +Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +--- + drivers/video/console_core.c | 1 + + drivers/video/vidconsole-uclass.c | 42 +++++++++++++++++++++++++++++++ + include/video_console.h | 1 + + 3 files changed, 44 insertions(+) + +diff --git a/drivers/video/console_core.c b/drivers/video/console_core.c +index 939363653f6c..6b531718276f 100644 +--- a/drivers/video/console_core.c ++++ b/drivers/video/console_core.c +@@ -30,6 +30,7 @@ static int console_set_font(struct udevice *dev, struct video_fontdata *fontdata + debug("height: %d\n", fontdata->height); + + priv->fontdata = fontdata; ++ vc_priv->cursor_visible = true; + vc_priv->x_charsize = fontdata->width; + vc_priv->y_charsize = fontdata->height; + if (vid_priv->rot % 2) { +diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c +index ebe96bf0c2f3..8613c464040f 100644 +--- a/drivers/video/vidconsole-uclass.c ++++ b/drivers/video/vidconsole-uclass.c +@@ -57,6 +57,26 @@ int vidconsole_entry_start(struct udevice *dev) + return ops->entry_start(dev); + } + ++static void draw_cursor(struct udevice *dev, bool state) ++{ ++ struct vidconsole_priv *priv = dev_get_uclass_priv(dev); ++ struct video_priv *vid_priv = dev_get_uclass_priv(dev->parent); ++ u32 tmp; ++ ++ if (!priv->cursor_visible) ++ return; ++ ++ if (state) { ++ tmp = vid_priv->colour_bg; ++ vid_priv->colour_bg = vid_priv->colour_fg; ++ } ++ ++ vidconsole_putc_xy(dev, priv->xcur_frac, priv->ycur, ' '); ++ ++ if (state) ++ vid_priv->colour_bg = tmp; ++} ++ + /* Move backwards one space */ + static int vidconsole_back(struct udevice *dev) + { +@@ -64,6 +84,8 @@ static int vidconsole_back(struct udevice *dev) + struct vidconsole_ops *ops = vidconsole_get_ops(dev); + int ret; + ++ draw_cursor(dev, false); ++ + if (ops->backspace) { + ret = ops->backspace(dev); + if (ret != -ENOSYS) +@@ -90,6 +112,8 @@ static void vidconsole_newline(struct udevice *dev) + const int rows = CONFIG_VAL(CONSOLE_SCROLL_LINES); + int i, ret; + ++ draw_cursor(dev, false); ++ + priv->xcur_frac = priv->xstart_frac; + priv->ycur += priv->y_charsize; + +@@ -286,6 +310,14 @@ static void vidconsole_escape_char(struct udevice *dev, char ch) + + break; + } ++ case 'l': ++ draw_cursor(dev, false); ++ priv->cursor_visible = 0; ++ break; ++ case 'h': ++ priv->cursor_visible = 1; ++ draw_cursor(dev, true); ++ break; + case 'J': { + int mode; + +@@ -460,6 +492,11 @@ int vidconsole_put_char(struct udevice *dev, char ch) + struct vidconsole_priv *priv = dev_get_uclass_priv(dev); + int cp, ret; + ++ /* ++ * We don't need to clear the cursor since we are going to overwrite ++ * that character anyway. ++ */ ++ + if (priv->escape) { + vidconsole_escape_char(dev, ch); + return 0; +@@ -474,6 +511,7 @@ int vidconsole_put_char(struct udevice *dev, char ch) + /* beep */ + break; + case '\r': ++ draw_cursor(dev, false); + priv->xcur_frac = priv->xstart_frac; + break; + case '\n': +@@ -481,6 +519,7 @@ int vidconsole_put_char(struct udevice *dev, char ch) + vidconsole_entry_start(dev); + break; + case '\t': /* Tab (8 chars alignment) */ ++ draw_cursor(dev, false); + priv->xcur_frac = ((priv->xcur_frac / priv->tab_width_frac) + + 1) * priv->tab_width_frac; + +@@ -505,6 +544,8 @@ int vidconsole_put_char(struct udevice *dev, char ch) + break; + } + ++ draw_cursor(dev, true); ++ + return 0; + } + +@@ -725,6 +766,7 @@ static int vidconsole_pre_probe(struct udevice *dev) + struct video_priv *vid_priv = dev_get_uclass_priv(vid); + + priv->xsize_frac = VID_TO_POS(vid_priv->xsize); ++ priv->cursor_visible = false; + + return 0; + } +diff --git a/include/video_console.h b/include/video_console.h +index 723d2315606d..17a9aa3f9295 100644 +--- a/include/video_console.h ++++ b/include/video_console.h +@@ -74,6 +74,7 @@ struct vidconsole_priv { + int escape_len; + int row_saved; + int col_saved; ++ bool cursor_visible; + char escape_buf[32]; + char utf8_buf[5]; + }; +-- +2.49.0 + + +From b2b921d7bc69b505562cf02d1b4c6f6d4325c7d5 Mon Sep 17 00:00:00 2001 +From: Andre Przywara <andre.przywara@arm.com> +Date: Mon, 10 Jan 2022 00:56:36 +0000 +Subject: [PATCH 2/3] efi-selftest: Add international characters test + +UEFI relies entirely on unicode output, which actual fonts displayed on +the screen might not be ready for. + +Add a test displaying some international characters, to reveal missing +glyphs, especially in our builtin fonts. +This would be needed to be manually checked on the screen for +correctness. + +Signed-off-by: Andre Przywara <andre.przywara@arm.com> +Link: https://lore.kernel.org/r/20220110005638.21599-7-andre.przywara@arm.com +--- + lib/efi_selftest/efi_selftest_textoutput.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/lib/efi_selftest/efi_selftest_textoutput.c b/lib/efi_selftest/efi_selftest_textoutput.c +index a3023c82567c..2f8d8d323c2b 100644 +--- a/lib/efi_selftest/efi_selftest_textoutput.c ++++ b/lib/efi_selftest/efi_selftest_textoutput.c +@@ -154,6 +154,11 @@ static int execute(void) + efi_st_printf("Unicode not handled properly\n"); + return EFI_ST_FAILURE; + } ++ ret = con_out->output_string(con_out, L"Österreich Edelweiß Smørrebrød Smörgås Niño René >Ἑλλάς<\n"); ++ if (ret != EFI_ST_SUCCESS) { ++ efi_st_error("OutputString failed for international chars\n"); ++ return EFI_ST_FAILURE; ++ } + efi_st_printf("\n"); + ret = con_out->output_string(con_out, text); + if (ret != EFI_ST_SUCCESS) { +-- +2.49.0 + + +From 082422499a5f2689e715df68bfd025a5cc15cc64 Mon Sep 17 00:00:00 2001 +From: Andre Przywara <andre.przywara@arm.com> +Date: Mon, 10 Jan 2022 00:56:37 +0000 +Subject: [PATCH 3/3] efi_selftest: Add box drawing character selftest + +UEFI applications rely on Unicode output capability, and might use that +for drawing pseudo-graphical interfaces using Unicode defined box +drawing characters. + +Add a simple test to display the most basic box characters, which would +need to be checked manually on the screen for correctness. +To facilitate this, add a three second delay after the output at this +point. + +Signed-off-by: Andre Przywara <andre.przywara@arm.com> +Link: https://lore.kernel.org/r/20220110005638.21599-8-andre.przywara@arm.com +--- + lib/efi_selftest/efi_selftest_textoutput.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/lib/efi_selftest/efi_selftest_textoutput.c b/lib/efi_selftest/efi_selftest_textoutput.c +index 2f8d8d323c2b..02209a5bf224 100644 +--- a/lib/efi_selftest/efi_selftest_textoutput.c ++++ b/lib/efi_selftest/efi_selftest_textoutput.c +@@ -159,6 +159,17 @@ static int execute(void) + efi_st_error("OutputString failed for international chars\n"); + return EFI_ST_FAILURE; + } ++ ret = con_out->output_string(con_out, L"┌─┬─┐\n"); ++ ret |= con_out->output_string(con_out, L"│ │ │\n"); ++ ret |= con_out->output_string(con_out, L"├─┼─┤\n"); ++ ret |= con_out->output_string(con_out, L"│ │ │\n"); ++ ret |= con_out->output_string(con_out, L"└─┴─┘\n"); ++ if (ret != EFI_ST_SUCCESS) { ++ efi_st_error("OutputString failed for box drawing chars\n"); ++ return EFI_ST_FAILURE; ++ } ++ con_out->output_string(con_out, L"waiting for admiration...\n"); ++ EFI_CALL(systab.boottime->stall(3000000)); + efi_st_printf("\n"); + ret = con_out->output_string(con_out, text); + if (ret != EFI_ST_SUCCESS) { +-- +2.49.0 + diff --git a/config/module/u-boot/default/patches/0003-Add-video-damage-tracking.patch b/config/module/u-boot/default/patches/0003-Add-video-damage-tracking.patch new file mode 100644 index 00000000..18c93ab8 --- /dev/null +++ b/config/module/u-boot/default/patches/0003-Add-video-damage-tracking.patch @@ -0,0 +1,2399 @@ +From dae1f9cafd3d2061336f5d230ebc1f236423fa0e Mon Sep 17 00:00:00 2001 +From: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Date: Fri, 18 Aug 2023 13:31:36 +0300 +Subject: [PATCH 01/13] video: test: Split copy frame buffer check into a + function + +While checking frame buffer contents, the video tests also check if the +copy frame buffer contents match the main frame buffer. To test if only +the modified regions are updated after a sync, we will need to create +situations where the two are mismatched. Split this check into another +function that we can skip calling, since we won't want it to error on +those mismatched cases. + +Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Reviewed-by: Simon Glass <sjg@chromium.org> +Link: https://lore.kernel.org/u-boot/20230821135111.3558478-2-alpernebiyasak@gmail.com/ +--- + test/dm/video.c | 69 +++++++++++++++++++++++++++++++++++++++++-------- + 1 file changed, 58 insertions(+), 11 deletions(-) + +diff --git a/test/dm/video.c b/test/dm/video.c +index e347c1403fda..01fa9e1b2415 100644 +--- a/test/dm/video.c ++++ b/test/dm/video.c +@@ -54,9 +54,6 @@ DM_TEST(dm_test_video_base, UTF_SCAN_PDATA | UTF_SCAN_FDT); + * size of the compressed data. This provides a pretty good level of + * certainty and the resulting tests need only check a single value. + * +- * If the copy framebuffer is enabled, this compares it to the main framebuffer +- * too. +- * + * @uts: Test state + * @dev: Video device + * Return: compressed size of the frame buffer, or -ve on error +@@ -65,7 +62,6 @@ static int compress_frame_buffer(struct unit_test_state *uts, + struct udevice *dev) + { + struct video_priv *priv = dev_get_uclass_priv(dev); +- struct video_priv *uc_priv = dev_get_uclass_priv(dev); + uint destlen; + void *dest; + int ret; +@@ -81,16 +77,34 @@ static int compress_frame_buffer(struct unit_test_state *uts, + if (ret) + return ret; + +- /* Check here that the copy frame buffer is working correctly */ +- if (IS_ENABLED(CONFIG_VIDEO_COPY)) { +- ut_assertf(!memcmp(uc_priv->fb, uc_priv->copy_fb, +- uc_priv->fb_size), +- "Copy framebuffer does not match fb"); +- } +- + return destlen; + } + ++/** ++ * check_copy_frame_buffer() - Compare main frame buffer to copy ++ * ++ * If the copy frame buffer is enabled, this compares it to the main ++ * frame buffer. Normally they should have the same contents after a ++ * sync. ++ * ++ * @uts: Test state ++ * @dev: Video device ++ * Return: 0, or -ve on error ++ */ ++static int check_copy_frame_buffer(struct unit_test_state *uts, ++ struct udevice *dev) ++{ ++ struct video_priv *priv = dev_get_uclass_priv(dev); ++ ++ if (!IS_ENABLED(CONFIG_VIDEO_COPY)) ++ return 0; ++ ++ ut_assertf(!memcmp(priv->fb, priv->copy_fb, priv->fb_size), ++ "Copy framebuffer does not match fb"); ++ ++ return 0; ++} ++ + /* + * Call this function at any point to halt and show the current display. Be + * sure to run the test with the -l flag. +@@ -154,24 +168,30 @@ static int dm_test_video_text(struct unit_test_state *uts) + ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); + ut_assertok(vidconsole_select_font(con, "8x16", 0)); + ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); + vidconsole_putc_xy(con, 0, 0, 'a'); + ut_asserteq(79, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + vidconsole_putc_xy(con, 0, 0, ' '); + ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + for (i = 0; i < 20; i++) + vidconsole_putc_xy(con, VID_TO_POS(i * 8), 0, ' ' + i); + ut_asserteq(273, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + vidconsole_set_row(con, 0, WHITE); + ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + for (i = 0; i < 20; i++) + vidconsole_putc_xy(con, VID_TO_POS(i * 8), 0, ' ' + i); + ut_asserteq(273, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; + } +@@ -190,24 +210,30 @@ static int dm_test_video_text_12x22(struct unit_test_state *uts) + ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); + ut_assertok(vidconsole_select_font(con, "12x22", 0)); + ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); + vidconsole_putc_xy(con, 0, 0, 'a'); + ut_asserteq(89, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + vidconsole_putc_xy(con, 0, 0, ' '); + ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + for (i = 0; i < 20; i++) + vidconsole_putc_xy(con, VID_TO_POS(i * 8), 0, ' ' + i); + ut_asserteq(363, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + vidconsole_set_row(con, 0, WHITE); + ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + for (i = 0; i < 20; i++) + vidconsole_putc_xy(con, VID_TO_POS(i * 8), 0, ' ' + i); + ut_asserteq(363, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; + } +@@ -225,6 +251,7 @@ static int dm_test_video_chars(struct unit_test_state *uts) + ut_assertok(vidconsole_select_font(con, "8x16", 0)); + vidconsole_put_string(con, test_string); + ut_asserteq(466, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; + } +@@ -246,19 +273,23 @@ static int dm_test_video_ansi(struct unit_test_state *uts) + video_clear(con->parent); + video_sync(con->parent, false); + ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + /* test clear escape sequence: [2J */ + vidconsole_put_string(con, "A\tB\tC"ANSI_ESC"[2J"); + ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + /* test set-cursor: [%d;%df */ + vidconsole_put_string(con, "abc"ANSI_ESC"[2;2fab"ANSI_ESC"[4;4fcd"); + ut_asserteq(143, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + /* test colors (30-37 fg color, 40-47 bg color) */ + vidconsole_put_string(con, ANSI_ESC"[30;41mfoo"); /* black on red */ + vidconsole_put_string(con, ANSI_ESC"[33;44mbar"); /* yellow on blue */ + ut_asserteq(272, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; + } +@@ -291,11 +322,13 @@ static int check_vidconsole_output(struct unit_test_state *uts, int rot, + ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); + ut_assertok(vidconsole_select_font(con, "8x16", 0)); + ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + /* Check display wrap */ + for (i = 0; i < 120; i++) + vidconsole_put_char(con, 'A' + i % 50); + ut_asserteq(wrap_size, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + /* Check display scrolling */ + for (i = 0; i < SCROLL_LINES; i++) { +@@ -303,11 +336,13 @@ static int check_vidconsole_output(struct unit_test_state *uts, int rot, + vidconsole_put_char(con, '\n'); + } + ut_asserteq(scroll_size, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + /* If we scroll enough, the screen becomes blank again */ + for (i = 0; i < SCROLL_LINES; i++) + vidconsole_put_char(con, '\n'); + ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; + } +@@ -382,6 +417,7 @@ static int dm_test_video_bmp(struct unit_test_state *uts) + + ut_assertok(video_bmp_display(dev, addr, 0, 0, false)); + ut_asserteq(1368, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; + } +@@ -401,6 +437,7 @@ static int dm_test_video_bmp8(struct unit_test_state *uts) + + ut_assertok(video_bmp_display(dev, addr, 0, 0, false)); + ut_asserteq(1247, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; + } +@@ -424,6 +461,7 @@ static int dm_test_video_bmp16(struct unit_test_state *uts) + + ut_assertok(video_bmp_display(dev, dst, 0, 0, false)); + ut_asserteq(3700, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; + } +@@ -447,6 +485,7 @@ static int dm_test_video_bmp24(struct unit_test_state *uts) + + ut_assertok(video_bmp_display(dev, dst, 0, 0, false)); + ut_asserteq(3656, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; + } +@@ -470,6 +509,7 @@ static int dm_test_video_bmp24_32(struct unit_test_state *uts) + + ut_assertok(video_bmp_display(dev, dst, 0, 0, false)); + ut_asserteq(6827, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; + } +@@ -488,6 +528,7 @@ static int dm_test_video_bmp32(struct unit_test_state *uts) + + ut_assertok(video_bmp_display(dev, addr, 0, 0, false)); + ut_asserteq(2024, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; + } +@@ -504,6 +545,7 @@ static int dm_test_video_bmp_comp(struct unit_test_state *uts) + + ut_assertok(video_bmp_display(dev, addr, 0, 0, false)); + ut_asserteq(1368, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; + } +@@ -523,6 +565,7 @@ static int dm_test_video_comp_bmp32(struct unit_test_state *uts) + + ut_assertok(video_bmp_display(dev, addr, 0, 0, false)); + ut_asserteq(2024, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; + } +@@ -542,6 +585,7 @@ static int dm_test_video_comp_bmp8(struct unit_test_state *uts) + + ut_assertok(video_bmp_display(dev, addr, 0, 0, false)); + ut_asserteq(1247, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; + } +@@ -557,6 +601,7 @@ static int dm_test_video_truetype(struct unit_test_state *uts) + ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); + vidconsole_put_string(con, test_string); + ut_asserteq(12174, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; + } +@@ -578,6 +623,7 @@ static int dm_test_video_truetype_scroll(struct unit_test_state *uts) + ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); + vidconsole_put_string(con, test_string); + ut_asserteq(34287, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; + } +@@ -599,6 +645,7 @@ static int dm_test_video_truetype_bs(struct unit_test_state *uts) + ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); + vidconsole_put_string(con, test_string); + ut_asserteq(29471, compress_frame_buffer(uts, dev)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; + } +-- +2.49.0 + + +From 3c4f71fb10a827db53d6ed637e39afb5cc19a871 Mon Sep 17 00:00:00 2001 +From: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Date: Sun, 20 Aug 2023 17:46:46 +0300 +Subject: [PATCH 02/13] video: test: Support checking copy frame buffer + contents + +The video tests have a helper function to generate a pseudo-digest of +frame buffer contents, but it only does so for the main one. There is +another check that the copy frame buffer is the same as that. But +neither is enough to test if only the modified regions are copied to the +copy frame buffer, since we will want the two to be different in very +specific ways. + +Add a boolean argument to the existing helper function to indicate which +frame buffer we want to inspect, and update the existing callers. + +Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Reviewed-by: Simon Glass <sjg@chromium.org> +Link: https://lore.kernel.org/u-boot/20230821135111.3558478-3-alpernebiyasak@gmail.com/ +--- + test/dm/video.c | 76 ++++++++++++++++++++++++++----------------------- + 1 file changed, 41 insertions(+), 35 deletions(-) + +diff --git a/test/dm/video.c b/test/dm/video.c +index 01fa9e1b2415..edb1b4ede8c9 100644 +--- a/test/dm/video.c ++++ b/test/dm/video.c +@@ -56,22 +56,28 @@ DM_TEST(dm_test_video_base, UTF_SCAN_PDATA | UTF_SCAN_FDT); + * + * @uts: Test state + * @dev: Video device ++ * @use_copy: Use copy frame buffer if available + * Return: compressed size of the frame buffer, or -ve on error + */ + static int compress_frame_buffer(struct unit_test_state *uts, +- struct udevice *dev) ++ struct udevice *dev, ++ bool use_copy) + { + struct video_priv *priv = dev_get_uclass_priv(dev); + uint destlen; + void *dest; + int ret; + ++ if (!IS_ENABLED(CONFIG_VIDEO_COPY)) ++ use_copy = false; ++ + destlen = priv->fb_size; + dest = malloc(priv->fb_size); + if (!dest) + return -ENOMEM; + ret = BZ2_bzBuffToBuffCompress(dest, &destlen, +- priv->fb, priv->fb_size, ++ use_copy ? priv->copy_fb : priv->fb, ++ priv->fb_size, + 3, 0, 0); + free(dest); + if (ret) +@@ -167,30 +173,30 @@ static int dm_test_video_text(struct unit_test_state *uts) + ut_assertok(video_get_nologo(uts, &dev)); + ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); + ut_assertok(vidconsole_select_font(con, "8x16", 0)); +- ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_asserteq(46, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); + vidconsole_putc_xy(con, 0, 0, 'a'); +- ut_asserteq(79, compress_frame_buffer(uts, dev)); ++ ut_asserteq(79, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + vidconsole_putc_xy(con, 0, 0, ' '); +- ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_asserteq(46, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + for (i = 0; i < 20; i++) + vidconsole_putc_xy(con, VID_TO_POS(i * 8), 0, ' ' + i); +- ut_asserteq(273, compress_frame_buffer(uts, dev)); ++ ut_asserteq(273, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + vidconsole_set_row(con, 0, WHITE); +- ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_asserteq(46, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + for (i = 0; i < 20; i++) + vidconsole_putc_xy(con, VID_TO_POS(i * 8), 0, ' ' + i); +- ut_asserteq(273, compress_frame_buffer(uts, dev)); ++ ut_asserteq(273, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; +@@ -209,30 +215,30 @@ static int dm_test_video_text_12x22(struct unit_test_state *uts) + ut_assertok(video_get_nologo(uts, &dev)); + ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); + ut_assertok(vidconsole_select_font(con, "12x22", 0)); +- ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_asserteq(46, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); + vidconsole_putc_xy(con, 0, 0, 'a'); +- ut_asserteq(89, compress_frame_buffer(uts, dev)); ++ ut_asserteq(89, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + vidconsole_putc_xy(con, 0, 0, ' '); +- ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_asserteq(46, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + for (i = 0; i < 20; i++) + vidconsole_putc_xy(con, VID_TO_POS(i * 8), 0, ' ' + i); +- ut_asserteq(363, compress_frame_buffer(uts, dev)); ++ ut_asserteq(363, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + vidconsole_set_row(con, 0, WHITE); +- ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_asserteq(46, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + for (i = 0; i < 20; i++) + vidconsole_putc_xy(con, VID_TO_POS(i * 8), 0, ' ' + i); +- ut_asserteq(363, compress_frame_buffer(uts, dev)); ++ ut_asserteq(363, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; +@@ -250,7 +256,7 @@ static int dm_test_video_chars(struct unit_test_state *uts) + ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); + ut_assertok(vidconsole_select_font(con, "8x16", 0)); + vidconsole_put_string(con, test_string); +- ut_asserteq(466, compress_frame_buffer(uts, dev)); ++ ut_asserteq(466, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; +@@ -272,23 +278,23 @@ static int dm_test_video_ansi(struct unit_test_state *uts) + /* reference clear: */ + video_clear(con->parent); + video_sync(con->parent, false); +- ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_asserteq(46, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + /* test clear escape sequence: [2J */ + vidconsole_put_string(con, "A\tB\tC"ANSI_ESC"[2J"); +- ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_asserteq(46, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + /* test set-cursor: [%d;%df */ + vidconsole_put_string(con, "abc"ANSI_ESC"[2;2fab"ANSI_ESC"[4;4fcd"); +- ut_asserteq(143, compress_frame_buffer(uts, dev)); ++ ut_asserteq(143, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + /* test colors (30-37 fg color, 40-47 bg color) */ + vidconsole_put_string(con, ANSI_ESC"[30;41mfoo"); /* black on red */ + vidconsole_put_string(con, ANSI_ESC"[33;44mbar"); /* yellow on blue */ +- ut_asserteq(272, compress_frame_buffer(uts, dev)); ++ ut_asserteq(272, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; +@@ -321,13 +327,13 @@ static int check_vidconsole_output(struct unit_test_state *uts, int rot, + ut_assertok(video_get_nologo(uts, &dev)); + ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); + ut_assertok(vidconsole_select_font(con, "8x16", 0)); +- ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_asserteq(46, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + /* Check display wrap */ + for (i = 0; i < 120; i++) + vidconsole_put_char(con, 'A' + i % 50); +- ut_asserteq(wrap_size, compress_frame_buffer(uts, dev)); ++ ut_asserteq(wrap_size, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + /* Check display scrolling */ +@@ -335,13 +341,13 @@ static int check_vidconsole_output(struct unit_test_state *uts, int rot, + vidconsole_put_char(con, 'A' + i % 50); + vidconsole_put_char(con, '\n'); + } +- ut_asserteq(scroll_size, compress_frame_buffer(uts, dev)); ++ ut_asserteq(scroll_size, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + /* If we scroll enough, the screen becomes blank again */ + for (i = 0; i < SCROLL_LINES; i++) + vidconsole_put_char(con, '\n'); +- ut_asserteq(46, compress_frame_buffer(uts, dev)); ++ ut_asserteq(46, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; +@@ -416,7 +422,7 @@ static int dm_test_video_bmp(struct unit_test_state *uts) + ut_assertok(read_file(uts, "tools/logos/denx.bmp", &addr)); + + ut_assertok(video_bmp_display(dev, addr, 0, 0, false)); +- ut_asserteq(1368, compress_frame_buffer(uts, dev)); ++ ut_asserteq(1368, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; +@@ -436,7 +442,7 @@ static int dm_test_video_bmp8(struct unit_test_state *uts) + ut_assertok(read_file(uts, "tools/logos/denx.bmp", &addr)); + + ut_assertok(video_bmp_display(dev, addr, 0, 0, false)); +- ut_asserteq(1247, compress_frame_buffer(uts, dev)); ++ ut_asserteq(1247, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; +@@ -460,7 +466,7 @@ static int dm_test_video_bmp16(struct unit_test_state *uts) + &src_len)); + + ut_assertok(video_bmp_display(dev, dst, 0, 0, false)); +- ut_asserteq(3700, compress_frame_buffer(uts, dev)); ++ ut_asserteq(3700, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; +@@ -484,7 +490,7 @@ static int dm_test_video_bmp24(struct unit_test_state *uts) + &src_len)); + + ut_assertok(video_bmp_display(dev, dst, 0, 0, false)); +- ut_asserteq(3656, compress_frame_buffer(uts, dev)); ++ ut_asserteq(3656, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; +@@ -508,7 +514,7 @@ static int dm_test_video_bmp24_32(struct unit_test_state *uts) + &src_len)); + + ut_assertok(video_bmp_display(dev, dst, 0, 0, false)); +- ut_asserteq(6827, compress_frame_buffer(uts, dev)); ++ ut_asserteq(6827, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; +@@ -527,7 +533,7 @@ static int dm_test_video_bmp32(struct unit_test_state *uts) + ut_assertok(read_file(uts, "tools/logos/denx.bmp", &addr)); + + ut_assertok(video_bmp_display(dev, addr, 0, 0, false)); +- ut_asserteq(2024, compress_frame_buffer(uts, dev)); ++ ut_asserteq(2024, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; +@@ -544,7 +550,7 @@ static int dm_test_video_bmp_comp(struct unit_test_state *uts) + ut_assertok(read_file(uts, "tools/logos/denx-comp.bmp", &addr)); + + ut_assertok(video_bmp_display(dev, addr, 0, 0, false)); +- ut_asserteq(1368, compress_frame_buffer(uts, dev)); ++ ut_asserteq(1368, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; +@@ -564,7 +570,7 @@ static int dm_test_video_comp_bmp32(struct unit_test_state *uts) + ut_assertok(read_file(uts, "tools/logos/denx.bmp", &addr)); + + ut_assertok(video_bmp_display(dev, addr, 0, 0, false)); +- ut_asserteq(2024, compress_frame_buffer(uts, dev)); ++ ut_asserteq(2024, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; +@@ -584,7 +590,7 @@ static int dm_test_video_comp_bmp8(struct unit_test_state *uts) + ut_assertok(read_file(uts, "tools/logos/denx.bmp", &addr)); + + ut_assertok(video_bmp_display(dev, addr, 0, 0, false)); +- ut_asserteq(1247, compress_frame_buffer(uts, dev)); ++ ut_asserteq(1247, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; +@@ -600,7 +606,7 @@ static int dm_test_video_truetype(struct unit_test_state *uts) + ut_assertok(video_get_nologo(uts, &dev)); + ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); + vidconsole_put_string(con, test_string); +- ut_asserteq(12174, compress_frame_buffer(uts, dev)); ++ ut_asserteq(12174, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; +@@ -622,7 +628,7 @@ static int dm_test_video_truetype_scroll(struct unit_test_state *uts) + ut_assertok(video_get_nologo(uts, &dev)); + ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); + vidconsole_put_string(con, test_string); +- ut_asserteq(34287, compress_frame_buffer(uts, dev)); ++ ut_asserteq(34287, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; +@@ -644,7 +650,7 @@ static int dm_test_video_truetype_bs(struct unit_test_state *uts) + ut_assertok(video_get_nologo(uts, &dev)); + ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); + vidconsole_put_string(con, test_string); +- ut_asserteq(29471, compress_frame_buffer(uts, dev)); ++ ut_asserteq(29471, compress_frame_buffer(uts, dev, false)); + ut_assertok(check_copy_frame_buffer(uts, dev)); + + return 0; +-- +2.49.0 + + +From ecd9200f2068ab8bbeda5c7b8ddc4b8d7ca6b038 Mon Sep 17 00:00:00 2001 +From: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Date: Fri, 18 Aug 2023 17:31:27 +0300 +Subject: [PATCH 03/13] video: test: Test partial updates of hardware frame + buffer + +With VIDEO_COPY enabled, only the modified parts of the frame buffer are +intended to be copied to the hardware. Add a test that checks this, by +overwriting contents we prepared without telling the video uclass and +then checking if the overwritten contents have been redrawn on the next +sync. + +Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Reviewed-by: Simon Glass <sjg@chromium.org> +Link: https://lore.kernel.org/u-boot/20230821135111.3558478-4-alpernebiyasak@gmail.com/ +--- + test/dm/video.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 54 insertions(+) + +diff --git a/test/dm/video.c b/test/dm/video.c +index edb1b4ede8c9..80e65d66dbaf 100644 +--- a/test/dm/video.c ++++ b/test/dm/video.c +@@ -656,3 +656,57 @@ static int dm_test_video_truetype_bs(struct unit_test_state *uts) + return 0; + } + DM_TEST(dm_test_video_truetype_bs, UTF_SCAN_PDATA | UTF_SCAN_FDT); ++ ++/* Test partial rendering onto hardware frame buffer */ ++static int dm_test_video_copy(struct unit_test_state *uts) ++{ ++ struct sandbox_sdl_plat *plat; ++ struct video_uc_plat *uc_plat; ++ struct udevice *dev, *con; ++ struct video_priv *priv; ++ const char *test_string = "\n\tCriticism may not be agreeable, but it is necessary.\t"; ++ ulong addr; ++ ++ if (!IS_ENABLED(CONFIG_VIDEO_COPY)) ++ return -EAGAIN; ++ ++ ut_assertok(uclass_find_first_device(UCLASS_VIDEO, &dev)); ++ ut_assertnonnull(dev); ++ uc_plat = dev_get_uclass_plat(dev); ++ uc_plat->hide_logo = true; ++ plat = dev_get_plat(dev); ++ plat->font_size = 32; ++ ut_assert(!device_active(dev)); ++ ut_assertok(uclass_first_device_err(UCLASS_VIDEO, &dev)); ++ ut_assertnonnull(dev); ++ priv = dev_get_uclass_priv(dev); ++ ++ ut_assertok(read_file(uts, "tools/logos/denx.bmp", &addr)); ++ ut_assertok(video_bmp_display(dev, addr, 0, 0, false)); ++ ++ ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); ++ vidconsole_put_string(con, "\n\n\n\n\n"); ++ vidconsole_put_string(con, test_string); ++ vidconsole_put_string(con, test_string); ++ ++ ut_asserteq(6678, compress_frame_buffer(uts, dev, false)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); ++ ++ /* ++ * Secretly clear the hardware frame buffer, but in a different ++ * color (black) to see which parts will be overwritten. ++ */ ++ memset(priv->copy_fb, 0, priv->fb_size); ++ ++ /* ++ * We should have the full content on the main buffer, but only ++ * the new content should have been copied to the copy buffer. ++ */ ++ vidconsole_put_string(con, test_string); ++ vidconsole_put_string(con, test_string); ++ ut_asserteq(7589, compress_frame_buffer(uts, dev, false)); ++ ut_asserteq(5278, compress_frame_buffer(uts, dev, true)); ++ ++ return 0; ++} ++DM_TEST(dm_test_video_copy, UTF_SCAN_PDATA | UTF_SCAN_FDT); +-- +2.49.0 + + +From 6ecfb63749d955fc28e6312583865c902ffb1175 Mon Sep 17 00:00:00 2001 +From: Alexander Graf <agraf@csgraf.de> +Date: Fri, 10 Jun 2022 00:59:15 +0200 +Subject: [PATCH 04/13] dm: video: Add damage tracking API + +We are going to introduce image damage tracking to fasten up screen +refresh on large displays. This patch adds damage tracking for up to +one rectangle of the screen which is typically enough to hold blt or +text print updates. Callers into this API and a reduced dcache flush +code path will follow in later patches. + +Signed-off-by: Alexander Graf <agraf@csgraf.de> +Reported-by: Da Xue <da@libre.computer> +[Alper: Use xstart/yend, document new fields, return void from + video_damage(), declare priv, drop headers, use IS_ENABLED()] +Co-developed-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Link: https://lore.kernel.org/u-boot/20230821135111.3558478-5-alpernebiyasak@gmail.com/ +Reviewed-by: Simon Glass <sjg@chromium.org> +--- + drivers/video/Kconfig | 13 ++++++++++++ + drivers/video/video-uclass.c | 35 +++++++++++++++++++++++++++++++ + include/video.h | 40 ++++++++++++++++++++++++++++++++++-- + 3 files changed, 86 insertions(+), 2 deletions(-) + +diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig +index 3c3cebaacd02..5d67067891be 100644 +--- a/drivers/video/Kconfig ++++ b/drivers/video/Kconfig +@@ -98,6 +98,19 @@ config VIDEO_COPY + To use this, your video driver must set @copy_base in + struct video_uc_plat. + ++config VIDEO_DAMAGE ++ bool "Enable damage tracking of frame buffer regions" ++ help ++ On some machines (most ARM), the display frame buffer resides in ++ RAM. To make the display controller pick up screen updates, we ++ have to flush frame buffer contents from CPU caches into RAM which ++ can be a slow operation. ++ ++ This feature adds damage tracking to collect information about regions ++ that received updates. When we want to sync, we then only flush ++ regions of the frame buffer that were modified before, speeding up ++ screen refreshes significantly. ++ + config BACKLIGHT_PWM + bool "Generic PWM based Backlight Driver" + depends on BACKLIGHT && DM_PWM +diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c +index ff4f21995859..da035e5c92b7 100644 +--- a/drivers/video/video-uclass.c ++++ b/drivers/video/video-uclass.c +@@ -367,6 +367,34 @@ void video_set_default_colors(struct udevice *dev, bool invert) + priv->colour_bg = video_index_to_colour(priv, back); + } + ++/* Notify about changes in the frame buffer */ ++#ifdef CONFIG_VIDEO_DAMAGE ++void video_damage(struct udevice *vid, int x, int y, int width, int height) ++{ ++ struct video_priv *priv = dev_get_uclass_priv(vid); ++ int xend = x + width; ++ int yend = y + height; ++ ++ if (x > priv->xsize) ++ return; ++ ++ if (y > priv->ysize) ++ return; ++ ++ if (xend > priv->xsize) ++ xend = priv->xsize; ++ ++ if (yend > priv->ysize) ++ yend = priv->ysize; ++ ++ /* Span a rectangle across all old and new damage */ ++ priv->damage.xstart = min(x, priv->damage.xstart); ++ priv->damage.ystart = min(y, priv->damage.ystart); ++ priv->damage.xend = max(xend, priv->damage.xend); ++ priv->damage.yend = max(yend, priv->damage.yend); ++} ++#endif ++ + /* Flush video activity to the caches */ + int video_sync(struct udevice *vid, bool force) + { +@@ -400,6 +428,13 @@ int video_sync(struct udevice *vid, bool force) + #endif + priv->last_sync = get_timer(0); + ++ if (IS_ENABLED(CONFIG_VIDEO_DAMAGE)) { ++ priv->damage.xstart = priv->xsize; ++ priv->damage.ystart = priv->ysize; ++ priv->damage.xend = 0; ++ priv->damage.yend = 0; ++ } ++ + return 0; + } + +diff --git a/include/video.h b/include/video.h +index a1f7fd7e839c..7eed112e00c4 100644 +--- a/include/video.h ++++ b/include/video.h +@@ -85,6 +85,11 @@ enum video_format { + * @fb_size: Frame buffer size + * @copy_fb: Copy of the frame buffer to keep up to date; see struct + * video_uc_plat ++ * @damage: A bounding box of framebuffer regions updated since last sync ++ * @damage.xstart: X start position in pixels from the left ++ * @damage.ystart: Y start position in pixels from the top ++ * @damage.xend: X end position in pixels from the left ++ * @damage.xend: Y end position in pixels from the top + * @line_length: Length of each frame buffer line, in bytes. This can be + * set by the driver, but if not, the uclass will set it after + * probing +@@ -113,6 +118,12 @@ struct video_priv { + void *fb; + int fb_size; + void *copy_fb; ++ struct { ++ int xstart; ++ int ystart; ++ int xend; ++ int yend; ++ } damage; + int line_length; + u32 colour_fg; + u32 colour_bg; +@@ -259,8 +270,9 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend, + * @return: 0 on success, error code otherwise + * + * Some frame buffers are cached or have a secondary frame buffer. This +- * function syncs these up so that the current contents of the U-Boot frame +- * buffer are displayed to the user. ++ * function syncs the damaged parts of them up so that the current contents ++ * of the U-Boot frame buffer are displayed to the user. It clears the damage ++ * buffer. + */ + int video_sync(struct udevice *vid, bool force); + +@@ -380,6 +392,30 @@ static inline int video_sync_copy_all(struct udevice *dev) + + #endif + ++#ifdef CONFIG_VIDEO_DAMAGE ++/** ++ * video_damage() - Notify the video subsystem about screen updates. ++ * ++ * @vid: Device to sync ++ * @x: Upper left X coordinate of the damaged rectangle ++ * @y: Upper left Y coordinate of the damaged rectangle ++ * @width: Width of the damaged rectangle ++ * @height: Height of the damaged rectangle ++ * ++ * Some frame buffers are cached or have a secondary frame buffer. This ++ * function notifies the video subsystem about rectangles that were updated ++ * within the frame buffer. They may only get written to the screen on the ++ * next call to video_sync(). ++ */ ++void video_damage(struct udevice *vid, int x, int y, int width, int height); ++#else ++static inline void video_damage(struct udevice *vid, int x, int y, int width, ++ int height) ++{ ++ return; ++} ++#endif /* CONFIG_VIDEO_DAMAGE */ ++ + /** + * video_is_active() - Test if one video device it active + * +-- +2.49.0 + + +From c23d99983901910dadf43f2b4d0b833a0a6d6c92 Mon Sep 17 00:00:00 2001 +From: Alexander Graf <agraf@csgraf.de> +Date: Fri, 10 Jun 2022 00:59:16 +0200 +Subject: [PATCH 05/13] dm: video: Add damage notification on display fills + +Let's report the video damage when we fill parts of the screen. This +way we can later lazily flush only relevant regions to hardware. + +Signed-off-by: Alexander Graf <agraf@csgraf.de> +Reported-by: Da Xue <da@libre.computer> +[Alper: Move from video_clear() to video_fill(), video_fill_part()] +Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Reviewed-by: Simon Glass <sjg@chromium.org> +Link: https://lore.kernel.org/u-boot/20230821135111.3558478-6-alpernebiyasak@gmail.com/ +--- + drivers/video/video-uclass.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c +index da035e5c92b7..1c07613539f2 100644 +--- a/drivers/video/video-uclass.c ++++ b/drivers/video/video-uclass.c +@@ -214,6 +214,8 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend, + if (ret) + return ret; + ++ video_damage(dev, xstart, ystart, xend - xstart, yend - ystart); ++ + return 0; + } + +@@ -262,6 +264,8 @@ int video_fill(struct udevice *dev, u32 colour) + if (ret) + return ret; + ++ video_damage(dev, 0, 0, priv->xsize, priv->ysize); ++ + return video_sync(dev, false); + } + +-- +2.49.0 + + +From bc55519e74270926ee3680002c58fdeb21cd41ce Mon Sep 17 00:00:00 2001 +From: Alexander Graf <agraf@csgraf.de> +Date: Fri, 10 Jun 2022 00:59:17 +0200 +Subject: [PATCH 06/13] vidconsole: Add damage notifications to all vidconsole + drivers + +Now that we have a damage tracking API, let's populate damage done by +vidconsole drivers. We try to declare as little memory as damaged as +possible. + +Signed-off-by: Alexander Graf <agraf@csgraf.de> +Reported-by: Da Xue <da@libre.computer> +[Alper: Rebase for met->baseline, fontdata->height/width, make rotated + console_putc_xy() damages pass tests, edit patch message] +Co-developed-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Link: https://lore.kernel.org/u-boot/20230821135111.3558478-7-alpernebiyasak@gmail.com/ +--- + drivers/video/console_normal.c | 18 +++++++++++ + drivers/video/console_rotate.c | 54 ++++++++++++++++++++++++++++++++ + drivers/video/console_truetype.c | 21 +++++++++++++ + 3 files changed, 93 insertions(+) + +diff --git a/drivers/video/console_normal.c b/drivers/video/console_normal.c +index 6f4194a18147..51ac8cc78e9d 100644 +--- a/drivers/video/console_normal.c ++++ b/drivers/video/console_normal.c +@@ -39,6 +39,12 @@ static int console_set_row(struct udevice *dev, uint row, int clr) + if (ret) + return ret; + ++ video_damage(dev->parent, ++ 0, ++ fontdata->height * row, ++ vid_priv->xsize, ++ fontdata->height); ++ + return 0; + } + +@@ -60,6 +66,12 @@ static int console_move_rows(struct udevice *dev, uint rowdst, + if (ret) + return ret; + ++ video_damage(dev->parent, ++ 0, ++ fontdata->height * rowdst, ++ vid_priv->xsize, ++ fontdata->height * count); ++ + return 0; + } + +@@ -91,6 +103,12 @@ static int console_putc_xy(struct udevice *dev, uint x_frac, uint y, int cp) + if (ret) + return ret; + ++ video_damage(dev->parent, ++ x, ++ y, ++ fontdata->width, ++ fontdata->height); ++ + ret = vidconsole_sync_copy(dev, start, line); + if (ret) + return ret; +diff --git a/drivers/video/console_rotate.c b/drivers/video/console_rotate.c +index a3f8c6352f83..f11dc3a0b075 100644 +--- a/drivers/video/console_rotate.c ++++ b/drivers/video/console_rotate.c +@@ -36,6 +36,12 @@ static int console_set_row_1(struct udevice *dev, uint row, int clr) + if (ret) + return ret; + ++ video_damage(dev->parent, ++ vid_priv->xsize - ((row + 1) * fontdata->height), ++ 0, ++ fontdata->height, ++ vid_priv->ysize); ++ + return 0; + } + +@@ -64,6 +70,12 @@ static int console_move_rows_1(struct udevice *dev, uint rowdst, uint rowsrc, + dst += vid_priv->line_length; + } + ++ video_damage(dev->parent, ++ vid_priv->xsize - ((rowdst + count) * fontdata->height), ++ 0, ++ count * fontdata->height, ++ vid_priv->ysize); ++ + return 0; + } + +@@ -97,6 +109,12 @@ static int console_putc_xy_1(struct udevice *dev, uint x_frac, uint y, int cp) + if (ret) + return ret; + ++ video_damage(dev->parent, ++ vid_priv->xsize - y - fontdata->height, ++ linenum - 1, ++ fontdata->height, ++ fontdata->width); ++ + return VID_TO_POS(fontdata->width); + } + +@@ -121,6 +139,12 @@ static int console_set_row_2(struct udevice *dev, uint row, int clr) + if (ret) + return ret; + ++ video_damage(dev->parent, ++ 0, ++ vid_priv->ysize - (row + 1) * fontdata->height, ++ vid_priv->xsize, ++ fontdata->height); ++ + return 0; + } + +@@ -142,6 +166,12 @@ static int console_move_rows_2(struct udevice *dev, uint rowdst, uint rowsrc, + vidconsole_memmove(dev, dst, src, + fontdata->height * vid_priv->line_length * count); + ++ video_damage(dev->parent, ++ 0, ++ vid_priv->ysize - (rowdst + count) * fontdata->height, ++ vid_priv->xsize, ++ count * fontdata->height); ++ + return 0; + } + +@@ -175,6 +205,12 @@ static int console_putc_xy_2(struct udevice *dev, uint x_frac, uint y, int cp) + if (ret) + return ret; + ++ video_damage(dev->parent, ++ x - fontdata->width + 1, ++ linenum - fontdata->height + 1, ++ fontdata->width, ++ fontdata->height); ++ + return VID_TO_POS(fontdata->width); + } + +@@ -199,6 +235,12 @@ static int console_set_row_3(struct udevice *dev, uint row, int clr) + if (ret) + return ret; + ++ video_damage(dev->parent, ++ row * fontdata->height, ++ 0, ++ fontdata->height, ++ vid_priv->ysize); ++ + return 0; + } + +@@ -225,6 +267,12 @@ static int console_move_rows_3(struct udevice *dev, uint rowdst, uint rowsrc, + dst += vid_priv->line_length; + } + ++ video_damage(dev->parent, ++ rowdst * fontdata->height, ++ 0, ++ count * fontdata->height, ++ vid_priv->ysize); ++ + return 0; + } + +@@ -257,6 +305,12 @@ static int console_putc_xy_3(struct udevice *dev, uint x_frac, uint y, int cp) + if (ret) + return ret; + ++ video_damage(dev->parent, ++ y, ++ linenum - fontdata->width + 1, ++ fontdata->height, ++ fontdata->width); ++ + return VID_TO_POS(fontdata->width); + } + +diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c +index 17a29817664f..073ddcfb6950 100644 +--- a/drivers/video/console_truetype.c ++++ b/drivers/video/console_truetype.c +@@ -190,6 +190,7 @@ struct console_tt_store { + static int console_truetype_set_row(struct udevice *dev, uint row, int clr) + { + struct video_priv *vid_priv = dev_get_uclass_priv(dev->parent); ++ struct vidconsole_priv *vc_priv = dev_get_uclass_priv(dev); + struct console_tt_priv *priv = dev_get_priv(dev); + struct console_tt_metrics *met = priv->cur_met; + void *end, *line; +@@ -233,6 +234,12 @@ static int console_truetype_set_row(struct udevice *dev, uint row, int clr) + if (ret) + return ret; + ++ video_damage(dev->parent, ++ 0, ++ vc_priv->y_charsize * row, ++ vid_priv->xsize, ++ vc_priv->y_charsize); ++ + return 0; + } + +@@ -240,6 +247,7 @@ static int console_truetype_move_rows(struct udevice *dev, uint rowdst, + uint rowsrc, uint count) + { + struct video_priv *vid_priv = dev_get_uclass_priv(dev->parent); ++ struct vidconsole_priv *vc_priv = dev_get_uclass_priv(dev); + struct console_tt_priv *priv = dev_get_priv(dev); + struct console_tt_metrics *met = priv->cur_met; + void *dst; +@@ -258,6 +266,12 @@ static int console_truetype_move_rows(struct udevice *dev, uint rowdst, + for (i = 0; i < priv->pos_ptr; i++) + priv->pos[i].ypos -= diff; + ++ video_damage(dev->parent, ++ 0, ++ vc_priv->y_charsize * rowdst, ++ vid_priv->xsize, ++ vc_priv->y_charsize * count); ++ + return 0; + } + +@@ -418,6 +432,13 @@ static int console_truetype_putc_xy(struct udevice *dev, uint x, uint y, + + line += vid_priv->line_length; + } ++ ++ video_damage(dev->parent, ++ VID_TO_PIXEL(x) + xoff, ++ y + met->baseline + yoff, ++ width, ++ height); ++ + ret = vidconsole_sync_copy(dev, start, line); + if (ret) + return ret; +-- +2.49.0 + + +From e759e3ab52f4373d4f2487d857118b3f0b5998b2 Mon Sep 17 00:00:00 2001 +From: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Date: Fri, 18 Aug 2023 17:55:08 +0300 +Subject: [PATCH 07/13] video: test: Test video damage tracking via vidconsole + +With VIDEO_DAMAGE, the video uclass tracks updated regions of the frame +buffer in order to avoid unnecessary work during a video sync. Enable +the config in sandbox and add a test for it, by printing strings at a +few locations and checking the tracked region. + +Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Reviewed-by: Simon Glass <sjg@chromium.org> +Link: https://lore.kernel.org/u-boot/20230821135111.3558478-8-alpernebiyasak@gmail.com/ +--- + configs/sandbox_defconfig | 1 + + test/dm/video.c | 56 +++++++++++++++++++++++++++++++++++++++ + 2 files changed, 57 insertions(+) + +diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig +index 861a1f4cd90e..8bf36ff325d8 100644 +--- a/configs/sandbox_defconfig ++++ b/configs/sandbox_defconfig +@@ -328,6 +328,7 @@ CONFIG_USB_ETH_CDC=y + CONFIG_VIDEO=y + CONFIG_VIDEO_FONT_SUN12X22=y + CONFIG_VIDEO_COPY=y ++CONFIG_VIDEO_DAMAGE=y + CONFIG_CONSOLE_ROTATION=y + CONFIG_CONSOLE_TRUETYPE=y + CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y +diff --git a/test/dm/video.c b/test/dm/video.c +index 80e65d66dbaf..e76fa986d359 100644 +--- a/test/dm/video.c ++++ b/test/dm/video.c +@@ -710,3 +710,59 @@ static int dm_test_video_copy(struct unit_test_state *uts) + return 0; + } + DM_TEST(dm_test_video_copy, UTF_SCAN_PDATA | UTF_SCAN_FDT); ++ ++/* Test video damage tracking */ ++static int dm_test_video_damage(struct unit_test_state *uts) ++{ ++ struct sandbox_sdl_plat *plat; ++ struct udevice *dev, *con; ++ struct video_priv *priv; ++ const char *test_string_1 = "Criticism may not be agreeable, "; ++ const char *test_string_2 = "but it is necessary."; ++ const char *test_string_3 = "It fulfils the same function as pain in the human body."; ++ ++ if (!IS_ENABLED(CONFIG_VIDEO_DAMAGE)) ++ return -EAGAIN; ++ ++ ut_assertok(uclass_find_device(UCLASS_VIDEO, 0, &dev)); ++ ut_assert(!device_active(dev)); ++ plat = dev_get_plat(dev); ++ plat->font_size = 32; ++ ++ ut_assertok(video_get_nologo(uts, &dev)); ++ ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con)); ++ priv = dev_get_uclass_priv(dev); ++ ++ vidconsole_position_cursor(con, 14, 10); ++ vidconsole_put_string(con, test_string_2); ++ ut_asserteq(449, priv->damage.xstart); ++ ut_asserteq(325, priv->damage.ystart); ++ ut_asserteq(661, priv->damage.xend); ++ ut_asserteq(350, priv->damage.yend); ++ ++ vidconsole_position_cursor(con, 7, 5); ++ vidconsole_put_string(con, test_string_1); ++ ut_asserteq(225, priv->damage.xstart); ++ ut_asserteq(164, priv->damage.ystart); ++ ut_asserteq(661, priv->damage.xend); ++ ut_asserteq(350, priv->damage.yend); ++ ++ vidconsole_position_cursor(con, 21, 15); ++ vidconsole_put_string(con, test_string_3); ++ ut_asserteq(225, priv->damage.xstart); ++ ut_asserteq(164, priv->damage.ystart); ++ ut_asserteq(1280, priv->damage.xend); ++ ut_asserteq(510, priv->damage.yend); ++ ++ video_sync(dev, false); ++ ut_asserteq(priv->xsize, priv->damage.xstart); ++ ut_asserteq(priv->ysize, priv->damage.ystart); ++ ut_asserteq(0, priv->damage.xend); ++ ut_asserteq(0, priv->damage.yend); ++ ++ ut_asserteq(7339, compress_frame_buffer(uts, dev, false)); ++ ut_assertok(check_copy_frame_buffer(uts, dev)); ++ ++ return 0; ++} ++DM_TEST(dm_test_video_damage, UTF_SCAN_PDATA | UTF_SCAN_FDT); +-- +2.49.0 + + +From aa9d791d839b1004809b4a6cba38cd0bfd3dafa9 Mon Sep 17 00:00:00 2001 +From: Alexander Graf <agraf@csgraf.de> +Date: Fri, 10 Jun 2022 00:59:18 +0200 +Subject: [PATCH 08/13] video: Add damage notification on bmp display + +Let's report the video damage when we draw a bitmap on the screen. This +way we can later lazily flush only relevant regions to hardware. + +Signed-off-by: Alexander Graf <agraf@csgraf.de> +Reported-by: Da Xue <da@libre.computer> +Reviewed-by: Simon Glass <sjg@chromium.org> +Link: https://lore.kernel.org/u-boot/20230821135111.3558478-9-alpernebiyasak@gmail.com/ +--- + drivers/video/video_bmp.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/video/video_bmp.c b/drivers/video/video_bmp.c +index ad512d99a1b9..78de95607924 100644 +--- a/drivers/video/video_bmp.c ++++ b/drivers/video/video_bmp.c +@@ -459,6 +459,8 @@ int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y, + break; + }; + ++ video_damage(dev, x, y, width, height); ++ + /* Find the position of the top left of the image in the framebuffer */ + fb = (uchar *)(priv->fb + y * priv->line_length + x * bpix / 8); + ret = video_sync_copy(dev, start, fb); +-- +2.49.0 + + +From 68262daa712e3202149aa0249bcff233234b6dfa Mon Sep 17 00:00:00 2001 +From: Alexander Graf <agraf@csgraf.de> +Date: Fri, 10 Jun 2022 00:59:19 +0200 +Subject: [PATCH 09/13] efi_loader: GOP: Add damage notification on BLT + +Now that we have a damage tracking API, let's populate damage done by +UEFI payloads when they BLT data onto the screen. + +Signed-off-by: Alexander Graf <agraf@csgraf.de> +Reported-by: Da Xue <da@libre.computer> +Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> +[Alper: Add struct comment for new member] +Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Reviewed-by: Simon Glass <sjg@chromium.org> +Link: https://lore.kernel.org/u-boot/20230821135111.3558478-10-alpernebiyasak@gmail.com/ +--- + lib/efi_loader/efi_gop.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/lib/efi_loader/efi_gop.c b/lib/efi_loader/efi_gop.c +index 4593975be5af..3abb47d610e6 100644 +--- a/lib/efi_loader/efi_gop.c ++++ b/lib/efi_loader/efi_gop.c +@@ -26,6 +26,7 @@ static const efi_guid_t efi_gop_guid = EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID; + * @ops: graphical output protocol interface + * @info: graphical output mode information + * @mode: graphical output mode ++ * @vdev: backing video device + * @bpix: bits per pixel + * @fb: frame buffer + */ +@@ -34,6 +35,7 @@ struct efi_gop_obj { + struct efi_gop ops; + struct efi_gop_mode_info info; + struct efi_gop_mode mode; ++ struct udevice *vdev; + /* Fields we only have access to during init */ + u32 bpix; + void *fb; +@@ -122,6 +124,7 @@ static __always_inline efi_status_t gop_blt_int(struct efi_gop *this, + u32 *fb32 = gopobj->fb; + u16 *fb16 = gopobj->fb; + struct efi_gop_pixel *buffer = __builtin_assume_aligned(bufferp, 4); ++ bool blt_to_video = (operation != EFI_BLT_VIDEO_TO_BLT_BUFFER); + + if (delta) { + /* Check for 4 byte alignment */ +@@ -245,6 +248,9 @@ static __always_inline efi_status_t gop_blt_int(struct efi_gop *this, + dlineoff += dwidth; + } + ++ if (blt_to_video) ++ video_damage(gopobj->vdev, dx, dy, width, height); ++ + return EFI_SUCCESS; + } + +@@ -551,6 +557,7 @@ efi_status_t efi_gop_register(void) + gopobj->info.pixels_per_scanline = col; + gopobj->bpix = bpix; + gopobj->fb = map_sysmem(fb_base, fb_size); ++ gopobj->vdev = vdev; + + return EFI_SUCCESS; + } +-- +2.49.0 + + +From b9d38bb68233d917a84c589b098699bd9ef08d70 Mon Sep 17 00:00:00 2001 +From: Alexander Graf <agraf@csgraf.de> +Date: Fri, 10 Jun 2022 00:59:20 +0200 +Subject: [PATCH 10/13] video: Only dcache flush damaged lines + +Now that we have a damage area tells us which parts of the frame buffer +actually need updating, let's only dcache flush those on video_sync() +calls. With this optimization in place, frame buffer updates - especially +on large screen such as 4k displays - speed up significantly. + +Signed-off-by: Alexander Graf <agraf@csgraf.de> +Reported-by: Da Xue <da@libre.computer> +[Alper: Use damage.xstart/yend, IS_ENABLED()] +Co-developed-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Link: https://lore.kernel.org/u-boot/20230821135111.3558478-11-alpernebiyasak@gmail.com/ +--- + drivers/video/video-uclass.c | 43 +++++++++++++++++++++++++++++++----- + 1 file changed, 38 insertions(+), 5 deletions(-) + +diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c +index 1c07613539f2..2dffcc229f6f 100644 +--- a/drivers/video/video-uclass.c ++++ b/drivers/video/video-uclass.c +@@ -399,6 +399,40 @@ void video_damage(struct udevice *vid, int x, int y, int width, int height) + } + #endif + ++#if defined(CONFIG_ARM) && !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) ++static void video_flush_dcache(struct udevice *vid, bool use_copy) ++{ ++ struct video_priv *priv = dev_get_uclass_priv(vid); ++ ulong fb = use_copy ? (ulong)priv->copy_fb : (ulong)priv->fb; ++ ++ if (!priv->flush_dcache) ++ return; ++ ++ if (!IS_ENABLED(CONFIG_VIDEO_DAMAGE)) { ++ flush_dcache_range(fb, ALIGN(fb + priv->fb_size, ++ CONFIG_SYS_CACHELINE_SIZE)); ++ ++ return; ++ } ++ ++ if (priv->damage.xend && priv->damage.yend) { ++ int lstart = priv->damage.xstart * VNBYTES(priv->bpix); ++ int lend = priv->damage.xend * VNBYTES(priv->bpix); ++ int y; ++ ++ for (y = priv->damage.ystart; y < priv->damage.yend; y++) { ++ ulong start = fb + (y * priv->line_length) + lstart; ++ ulong end = start + lend - lstart; ++ ++ start = ALIGN_DOWN(start, CONFIG_SYS_CACHELINE_SIZE); ++ end = ALIGN(end, CONFIG_SYS_CACHELINE_SIZE); ++ ++ flush_dcache_range(start, end); ++ } ++ } ++} ++#endif ++ + /* Flush video activity to the caches */ + int video_sync(struct udevice *vid, bool force) + { +@@ -422,11 +456,10 @@ int video_sync(struct udevice *vid, bool force) + * out whether it exists? For now, ARM is safe. + */ + #if defined(CONFIG_ARM) && !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) +- if (priv->flush_dcache) { +- flush_dcache_range((ulong)priv->fb, +- ALIGN((ulong)priv->fb + priv->fb_size, +- CONFIG_SYS_CACHELINE_SIZE)); +- } ++ video_flush_dcache(vid, false); ++ ++ if (IS_ENABLED(CONFIG_VIDEO_COPY)) ++ video_flush_dcache(vid, true); + #elif defined(CONFIG_VIDEO_SANDBOX_SDL) + sandbox_sdl_sync(priv->fb); + #endif +-- +2.49.0 + + +From bcb0061c373dca651760928ec6f8e13842b26e55 Mon Sep 17 00:00:00 2001 +From: Alexander Graf <agraf@csgraf.de> +Date: Fri, 10 Jun 2022 00:59:21 +0200 +Subject: [PATCH 11/13] video: Use VIDEO_DAMAGE for VIDEO_COPY + +CONFIG_VIDEO_COPY implemented a range-based copying mechanism: If we +print a single character, it will always copy the full range of bytes +from the top left corner of the character to the lower right onto the +uncached frame buffer. This includes pretty much the full line contents +of the printed character. + +Since we now have proper damage tracking, let's make use of that to reduce +the amount of data we need to copy. With this patch applied, we will only +copy the tiny rectangle surrounding characters when we print them, +speeding up the video console. + +After this, changes to the main frame buffer are not immediately copied +to the copy frame buffer, but postponed until the next video device +sync. So issue an explicit sync before inspecting the copy frame buffer +contents for the video tests. + +Signed-off-by: Alexander Graf <agraf@csgraf.de> +[Alper: Rebase for fontdata->height/w, fill_part(), fix memmove(dev), + drop from defconfig, use damage.xstart/yend, use IS_ENABLED(), + call video_sync() before copy_fb check, update video_copy test] +Co-developed-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Link: https://lore.kernel.org/u-boot/20230821135111.3558478-12-alpernebiyasak@gmail.com/ +--- + configs/sandbox_defconfig | 1 - + drivers/video/Kconfig | 5 ++ + drivers/video/console_normal.c | 13 +---- + drivers/video/console_rotate.c | 44 +++----------- + drivers/video/console_truetype.c | 20 +------ + drivers/video/vidconsole-uclass.c | 16 ------ + drivers/video/video-uclass.c | 96 ++++++++----------------------- + drivers/video/video_bmp.c | 7 --- + include/video.h | 37 ------------ + include/video_console.h | 52 ----------------- + test/dm/video.c | 3 +- + 11 files changed, 43 insertions(+), 251 deletions(-) + +diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig +index 8bf36ff325d8..861a1f4cd90e 100644 +--- a/configs/sandbox_defconfig ++++ b/configs/sandbox_defconfig +@@ -328,7 +328,6 @@ CONFIG_USB_ETH_CDC=y + CONFIG_VIDEO=y + CONFIG_VIDEO_FONT_SUN12X22=y + CONFIG_VIDEO_COPY=y +-CONFIG_VIDEO_DAMAGE=y + CONFIG_CONSOLE_ROTATION=y + CONFIG_CONSOLE_TRUETYPE=y + CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y +diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig +index 5d67067891be..964174b01acc 100644 +--- a/drivers/video/Kconfig ++++ b/drivers/video/Kconfig +@@ -89,11 +89,14 @@ config VIDEO_PCI_DEFAULT_FB_SIZE + + config VIDEO_COPY + bool "Enable copying the frame buffer to a hardware copy" ++ select VIDEO_DAMAGE + help + On some machines (e.g. x86), reading from the frame buffer is very + slow because it is uncached. To improve performance, this feature + allows the frame buffer to be kept in cached memory (allocated by + U-Boot) and then copied to the hardware frame-buffer as needed. ++ It uses the VIDEO_DAMAGE feature to keep track of regions to copy ++ and will only copy actually touched regions. + + To use this, your video driver must set @copy_base in + struct video_uc_plat. +@@ -111,6 +114,8 @@ config VIDEO_DAMAGE + regions of the frame buffer that were modified before, speeding up + screen refreshes significantly. + ++ It is also used by VIDEO_COPY to identify which regions changed. ++ + config BACKLIGHT_PWM + bool "Generic PWM based Backlight Driver" + depends on BACKLIGHT && DM_PWM +diff --git a/drivers/video/console_normal.c b/drivers/video/console_normal.c +index 51ac8cc78e9d..07db613ac53c 100644 +--- a/drivers/video/console_normal.c ++++ b/drivers/video/console_normal.c +@@ -35,10 +35,6 @@ static int console_set_row(struct udevice *dev, uint row, int clr) + fill_pixel_and_goto_next(&dst, clr, pbytes, pbytes); + end = dst; + +- ret = vidconsole_sync_copy(dev, line, end); +- if (ret) +- return ret; +- + video_damage(dev->parent, + 0, + fontdata->height * row, +@@ -57,14 +53,11 @@ static int console_move_rows(struct udevice *dev, uint rowdst, + void *dst; + void *src; + int size; +- int ret; + + dst = vid_priv->fb + rowdst * fontdata->height * vid_priv->line_length; + src = vid_priv->fb + rowsrc * fontdata->height * vid_priv->line_length; + size = fontdata->height * vid_priv->line_length * count; +- ret = vidconsole_memmove(dev, dst, src, size); +- if (ret) +- return ret; ++ memmove(dst, src, size); + + video_damage(dev->parent, + 0, +@@ -109,10 +102,6 @@ static int console_putc_xy(struct udevice *dev, uint x_frac, uint y, int cp) + fontdata->width, + fontdata->height); + +- ret = vidconsole_sync_copy(dev, start, line); +- if (ret) +- return ret; +- + return VID_TO_POS(fontdata->width); + } + +diff --git a/drivers/video/console_rotate.c b/drivers/video/console_rotate.c +index f11dc3a0b075..886b25dcfafc 100644 +--- a/drivers/video/console_rotate.c ++++ b/drivers/video/console_rotate.c +@@ -21,7 +21,6 @@ static int console_set_row_1(struct udevice *dev, uint row, int clr) + int pbytes = VNBYTES(vid_priv->bpix); + void *start, *dst, *line; + int i, j; +- int ret; + + start = vid_priv->fb + vid_priv->line_length - + (row + 1) * fontdata->height * pbytes; +@@ -32,9 +31,6 @@ static int console_set_row_1(struct udevice *dev, uint row, int clr) + fill_pixel_and_goto_next(&dst, clr, pbytes, pbytes); + line += vid_priv->line_length; + } +- ret = vidconsole_sync_copy(dev, start, line); +- if (ret) +- return ret; + + video_damage(dev->parent, + vid_priv->xsize - ((row + 1) * fontdata->height), +@@ -54,7 +50,7 @@ static int console_move_rows_1(struct udevice *dev, uint rowdst, uint rowsrc, + int pbytes = VNBYTES(vid_priv->bpix); + void *dst; + void *src; +- int j, ret; ++ int j; + + dst = vid_priv->fb + vid_priv->line_length - + (rowdst + count) * fontdata->height * pbytes; +@@ -62,10 +58,7 @@ static int console_move_rows_1(struct udevice *dev, uint rowdst, uint rowsrc, + (rowsrc + count) * fontdata->height * pbytes; + + for (j = 0; j < vid_priv->ysize; j++) { +- ret = vidconsole_memmove(dev, dst, src, +- fontdata->height * pbytes * count); +- if (ret) +- return ret; ++ memmove(dst, src, fontdata->height * pbytes * count); + src += vid_priv->line_length; + dst += vid_priv->line_length; + } +@@ -105,10 +98,6 @@ static int console_putc_xy_1(struct udevice *dev, uint x_frac, uint y, int cp) + return ret; + + /* We draw backwards from 'start, so account for the first line */ +- ret = vidconsole_sync_copy(dev, start - vid_priv->line_length, line); +- if (ret) +- return ret; +- + video_damage(dev->parent, + vid_priv->xsize - y - fontdata->height, + linenum - 1, +@@ -125,7 +114,7 @@ static int console_set_row_2(struct udevice *dev, uint row, int clr) + struct video_fontdata *fontdata = priv->fontdata; + void *start, *line, *dst, *end; + int pixels = fontdata->height * vid_priv->xsize; +- int i, ret; ++ int i; + int pbytes = VNBYTES(vid_priv->bpix); + + start = vid_priv->fb + vid_priv->ysize * vid_priv->line_length - +@@ -135,9 +124,6 @@ static int console_set_row_2(struct udevice *dev, uint row, int clr) + for (i = 0; i < pixels; i++) + fill_pixel_and_goto_next(&dst, clr, pbytes, pbytes); + end = dst; +- ret = vidconsole_sync_copy(dev, start, end); +- if (ret) +- return ret; + + video_damage(dev->parent, + 0, +@@ -163,8 +149,7 @@ static int console_move_rows_2(struct udevice *dev, uint rowdst, uint rowsrc, + vid_priv->line_length; + src = end - (rowsrc + count) * fontdata->height * + vid_priv->line_length; +- vidconsole_memmove(dev, dst, src, +- fontdata->height * vid_priv->line_length * count); ++ memmove(dst, src, fontdata->height * vid_priv->line_length * count); + + video_damage(dev->parent, + 0, +@@ -200,11 +185,6 @@ static int console_putc_xy_2(struct udevice *dev, uint x_frac, uint y, int cp) + if (ret) + return ret; + +- /* Add 4 bytes to allow for the first pixel writen */ +- ret = vidconsole_sync_copy(dev, start + 4, line); +- if (ret) +- return ret; +- + video_damage(dev->parent, + x - fontdata->width + 1, + linenum - fontdata->height + 1, +@@ -221,7 +201,7 @@ static int console_set_row_3(struct udevice *dev, uint row, int clr) + struct video_fontdata *fontdata = priv->fontdata; + int pbytes = VNBYTES(vid_priv->bpix); + void *start, *dst, *line; +- int i, j, ret; ++ int i, j; + + start = vid_priv->fb + row * fontdata->height * pbytes; + line = start; +@@ -231,9 +211,6 @@ static int console_set_row_3(struct udevice *dev, uint row, int clr) + fill_pixel_and_goto_next(&dst, clr, pbytes, pbytes); + line += vid_priv->line_length; + } +- ret = vidconsole_sync_copy(dev, start, line); +- if (ret) +- return ret; + + video_damage(dev->parent, + row * fontdata->height, +@@ -253,16 +230,13 @@ static int console_move_rows_3(struct udevice *dev, uint rowdst, uint rowsrc, + int pbytes = VNBYTES(vid_priv->bpix); + void *dst; + void *src; +- int j, ret; ++ int j; + + dst = vid_priv->fb + rowdst * fontdata->height * pbytes; + src = vid_priv->fb + rowsrc * fontdata->height * pbytes; + + for (j = 0; j < vid_priv->ysize; j++) { +- ret = vidconsole_memmove(dev, dst, src, +- fontdata->height * pbytes * count); +- if (ret) +- return ret; ++ memmove(dst, src, fontdata->height * pbytes * count); + src += vid_priv->line_length; + dst += vid_priv->line_length; + } +@@ -298,10 +272,6 @@ static int console_putc_xy_3(struct udevice *dev, uint x_frac, uint y, int cp) + line = start; + + ret = fill_char_horizontally(pfont, &line, vid_priv, fontdata, NORMAL_DIRECTION); +- if (ret) +- return ret; +- /* Add a line to allow for the first pixels writen */ +- ret = vidconsole_sync_copy(dev, start + vid_priv->line_length, line); + if (ret) + return ret; + +diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c +index 073ddcfb6950..56c3af3d5aad 100644 +--- a/drivers/video/console_truetype.c ++++ b/drivers/video/console_truetype.c +@@ -194,7 +194,6 @@ static int console_truetype_set_row(struct udevice *dev, uint row, int clr) + struct console_tt_priv *priv = dev_get_priv(dev); + struct console_tt_metrics *met = priv->cur_met; + void *end, *line; +- int ret; + + line = vid_priv->fb + row * met->font_size * vid_priv->line_length; + end = line + met->font_size * vid_priv->line_length; +@@ -230,9 +229,6 @@ static int console_truetype_set_row(struct udevice *dev, uint row, int clr) + default: + return -ENOSYS; + } +- ret = vidconsole_sync_copy(dev, line, end); +- if (ret) +- return ret; + + video_damage(dev->parent, + 0, +@@ -252,14 +248,11 @@ static int console_truetype_move_rows(struct udevice *dev, uint rowdst, + struct console_tt_metrics *met = priv->cur_met; + void *dst; + void *src; +- int i, diff, ret; ++ int i, diff; + + dst = vid_priv->fb + rowdst * met->font_size * vid_priv->line_length; + src = vid_priv->fb + rowsrc * met->font_size * vid_priv->line_length; +- ret = vidconsole_memmove(dev, dst, src, met->font_size * +- vid_priv->line_length * count); +- if (ret) +- return ret; ++ memmove(dst, src, met->font_size * vid_priv->line_length * count); + + /* Scroll up our position history */ + diff = (rowsrc - rowdst) * met->font_size; +@@ -292,7 +285,7 @@ static int console_truetype_putc_xy(struct udevice *dev, uint x, uint y, + u8 *bits, *data; + int advance; + void *start, *end, *line; +- int row, ret; ++ int row; + + /* First get some basic metrics about this character */ + stbtt_GetCodepointHMetrics(font, cp, &advance, &lsb); +@@ -439,9 +432,6 @@ static int console_truetype_putc_xy(struct udevice *dev, uint x, uint y, + width, + height); + +- ret = vidconsole_sync_copy(dev, start, line); +- if (ret) +- return ret; + free(data); + + return width_frac; +@@ -872,7 +862,6 @@ static int truetype_set_cursor_visible(struct udevice *dev, bool visible, + uint row, width, height, xoff; + void *start, *line; + uint out, val; +- int ret; + + if (xpl_phase() <= PHASE_SPL) + return -ENOSYS; +@@ -962,9 +951,6 @@ static int truetype_set_cursor_visible(struct udevice *dev, bool visible, + + line += vid_priv->line_length; + } +- ret = vidconsole_sync_copy(dev, start, line); +- if (ret) +- return ret; + + return video_sync(vid, true); + } +diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c +index 8613c464040f..ce6c8bb70cb7 100644 +--- a/drivers/video/vidconsole-uclass.c ++++ b/drivers/video/vidconsole-uclass.c +@@ -803,22 +803,6 @@ UCLASS_DRIVER(vidconsole) = { + .per_device_auto = sizeof(struct vidconsole_priv), + }; + +-#ifdef CONFIG_VIDEO_COPY +-int vidconsole_sync_copy(struct udevice *dev, void *from, void *to) +-{ +- struct udevice *vid = dev_get_parent(dev); +- +- return video_sync_copy(vid, from, to); +-} +- +-int vidconsole_memmove(struct udevice *dev, void *dst, const void *src, +- int size) +-{ +- memmove(dst, src, size); +- return vidconsole_sync_copy(dev, dst, dst + size); +-} +-#endif +- + int vidconsole_clear_and_reset(struct udevice *dev) + { + int ret; +diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c +index 2dffcc229f6f..eeee5d960838 100644 +--- a/drivers/video/video-uclass.c ++++ b/drivers/video/video-uclass.c +@@ -171,7 +171,7 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend, + struct video_priv *priv = dev_get_uclass_priv(dev); + void *start, *line; + int pixels = xend - xstart; +- int row, i, ret; ++ int row, i; + + start = priv->fb + ystart * priv->line_length; + start += xstart * VNBYTES(priv->bpix); +@@ -210,9 +210,6 @@ int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend, + } + line += priv->line_length; + } +- ret = video_sync_copy(dev, start, line); +- if (ret) +- return ret; + + video_damage(dev, xstart, ystart, xend - xstart, yend - ystart); + +@@ -235,7 +232,6 @@ int video_reserve_from_bloblist(struct video_handoff *ho) + int video_fill(struct udevice *dev, u32 colour) + { + struct video_priv *priv = dev_get_uclass_priv(dev); +- int ret; + + switch (priv->bpix) { + case VIDEO_BPP16: +@@ -260,9 +256,6 @@ int video_fill(struct udevice *dev, u32 colour) + memset(priv->fb, colour, priv->fb_size); + break; + } +- ret = video_sync_copy(dev, priv->fb, priv->fb + priv->fb_size); +- if (ret) +- return ret; + + video_damage(dev, 0, 0, priv->xsize, priv->ysize); + +@@ -433,6 +426,27 @@ static void video_flush_dcache(struct udevice *vid, bool use_copy) + } + #endif + ++static void video_flush_copy(struct udevice *vid) ++{ ++ struct video_priv *priv = dev_get_uclass_priv(vid); ++ ++ if (!priv->copy_fb) ++ return; ++ ++ if (priv->damage.xend && priv->damage.yend) { ++ int lstart = priv->damage.xstart * VNBYTES(priv->bpix); ++ int lend = priv->damage.xend * VNBYTES(priv->bpix); ++ int y; ++ ++ for (y = priv->damage.ystart; y < priv->damage.yend; y++) { ++ ulong offset = (y * priv->line_length) + lstart; ++ ulong len = lend - lstart; ++ ++ memcpy(priv->copy_fb + offset, priv->fb + offset, len); ++ } ++ } ++} ++ + /* Flush video activity to the caches */ + int video_sync(struct udevice *vid, bool force) + { +@@ -440,6 +454,9 @@ int video_sync(struct udevice *vid, bool force) + struct video_ops *ops = video_get_ops(vid); + int ret; + ++ if (IS_ENABLED(CONFIG_VIDEO_COPY)) ++ video_flush_copy(vid); ++ + if (ops && ops->video_sync) { + ret = ops->video_sync(vid); + if (ret) +@@ -523,69 +540,6 @@ int video_get_ysize(struct udevice *dev) + return priv->ysize; + } + +-#ifdef CONFIG_VIDEO_COPY +-int video_sync_copy(struct udevice *dev, void *from, void *to) +-{ +- struct video_priv *priv = dev_get_uclass_priv(dev); +- +- if (priv->copy_fb) { +- long offset, size; +- +- /* Find the offset of the first byte to copy */ +- if ((ulong)to > (ulong)from) { +- size = to - from; +- offset = from - priv->fb; +- } else { +- size = from - to; +- offset = to - priv->fb; +- } +- +- /* +- * Allow a bit of leeway for valid requests somewhere near the +- * frame buffer +- */ +- if (offset < -priv->fb_size || offset > 2 * priv->fb_size) { +-#ifdef DEBUG +- char str[120]; +- +- snprintf(str, sizeof(str), +- "[** FAULT sync_copy fb=%p, from=%p, to=%p, offset=%lx]", +- priv->fb, from, to, offset); +- console_puts_select_stderr(true, str); +-#endif +- return -EFAULT; +- } +- +- /* +- * Silently crop the memcpy. This allows callers to avoid doing +- * this themselves. It is common for the end pointer to go a +- * few lines after the end of the frame buffer, since most of +- * the update algorithms terminate a line after their last write +- */ +- if (offset + size > priv->fb_size) { +- size = priv->fb_size - offset; +- } else if (offset < 0) { +- size += offset; +- offset = 0; +- } +- +- memcpy(priv->copy_fb + offset, priv->fb + offset, size); +- } +- +- return 0; +-} +- +-int video_sync_copy_all(struct udevice *dev) +-{ +- struct video_priv *priv = dev_get_uclass_priv(dev); +- +- video_sync_copy(dev, priv->fb, priv->fb + priv->fb_size); +- +- return 0; +-} +- +-#endif +- + #define SPLASH_DECL(_name) \ + extern u8 __splash_ ## _name ## _begin[]; \ + extern u8 __splash_ ## _name ## _end[] +diff --git a/drivers/video/video_bmp.c b/drivers/video/video_bmp.c +index 78de95607924..1f267d45812c 100644 +--- a/drivers/video/video_bmp.c ++++ b/drivers/video/video_bmp.c +@@ -267,7 +267,6 @@ int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y, + enum video_format eformat; + struct bmp_color_table_entry *palette; + int hdr_size; +- int ret; + + if (!bmp || !(bmp->header.signature[0] == 'B' && + bmp->header.signature[1] == 'M')) { +@@ -461,11 +460,5 @@ int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y, + + video_damage(dev, x, y, width, height); + +- /* Find the position of the top left of the image in the framebuffer */ +- fb = (uchar *)(priv->fb + y * priv->line_length + x * bpix / 8); +- ret = video_sync_copy(dev, start, fb); +- if (ret) +- return log_ret(ret); +- + return video_sync(dev, false); + } +diff --git a/include/video.h b/include/video.h +index 7eed112e00c4..2fe2f73a865b 100644 +--- a/include/video.h ++++ b/include/video.h +@@ -355,43 +355,6 @@ void video_set_default_colors(struct udevice *dev, bool invert); + */ + int video_default_font_height(struct udevice *dev); + +-#ifdef CONFIG_VIDEO_COPY +-/** +- * vidconsole_sync_copy() - Sync back to the copy framebuffer +- * +- * This ensures that the copy framebuffer has the same data as the framebuffer +- * for a particular region. It should be called after the framebuffer is updated +- * +- * @from and @to can be in either order. The region between them is synced. +- * +- * @dev: Vidconsole device being updated +- * @from: Start/end address within the framebuffer (->fb) +- * @to: Other address within the frame buffer +- * Return: 0 if OK, -EFAULT if the start address is before the start of the +- * frame buffer start +- */ +-int video_sync_copy(struct udevice *dev, void *from, void *to); +- +-/** +- * video_sync_copy_all() - Sync the entire framebuffer to the copy +- * +- * @dev: Vidconsole device being updated +- * Return: 0 (always) +- */ +-int video_sync_copy_all(struct udevice *dev); +-#else +-static inline int video_sync_copy(struct udevice *dev, void *from, void *to) +-{ +- return 0; +-} +- +-static inline int video_sync_copy_all(struct udevice *dev) +-{ +- return 0; +-} +- +-#endif +- + #ifdef CONFIG_VIDEO_DAMAGE + /** + * video_damage() - Notify the video subsystem about screen updates. +diff --git a/include/video_console.h b/include/video_console.h +index 17a9aa3f9295..b228c725fd80 100644 +--- a/include/video_console.h ++++ b/include/video_console.h +@@ -538,56 +538,4 @@ void vidconsole_list_fonts(struct udevice *dev); + */ + int vidconsole_get_font_size(struct udevice *dev, const char **name, uint *sizep); + +-#ifdef CONFIG_VIDEO_COPY +-/** +- * vidconsole_sync_copy() - Sync back to the copy framebuffer +- * +- * This ensures that the copy framebuffer has the same data as the framebuffer +- * for a particular region. It should be called after the framebuffer is updated +- * +- * @from and @to can be in either order. The region between them is synced. +- * +- * @dev: Vidconsole device being updated +- * @from: Start/end address within the framebuffer (->fb) +- * @to: Other address within the frame buffer +- * Return: 0 if OK, -EFAULT if the start address is before the start of the +- * frame buffer start +- */ +-int vidconsole_sync_copy(struct udevice *dev, void *from, void *to); +- +-/** +- * vidconsole_memmove() - Perform a memmove() within the frame buffer +- * +- * This handles a memmove(), e.g. for scrolling. It also updates the copy +- * framebuffer. +- * +- * @dev: Vidconsole device being updated +- * @dst: Destination address within the framebuffer (->fb) +- * @src: Source address within the framebuffer (->fb) +- * @size: Number of bytes to transfer +- * Return: 0 if OK, -EFAULT if the start address is before the start of the +- * frame buffer start +- */ +-int vidconsole_memmove(struct udevice *dev, void *dst, const void *src, +- int size); +-#else +- +-#include <string.h> +- +-static inline int vidconsole_sync_copy(struct udevice *dev, void *from, +- void *to) +-{ +- return 0; +-} +- +-static inline int vidconsole_memmove(struct udevice *dev, void *dst, +- const void *src, int size) +-{ +- memmove(dst, src, size); +- +- return 0; +-} +- +-#endif +- + #endif +diff --git a/test/dm/video.c b/test/dm/video.c +index e76fa986d359..021f4b3fa733 100644 +--- a/test/dm/video.c ++++ b/test/dm/video.c +@@ -105,6 +105,7 @@ static int check_copy_frame_buffer(struct unit_test_state *uts, + if (!IS_ENABLED(CONFIG_VIDEO_COPY)) + return 0; + ++ video_sync(dev, false); + ut_assertf(!memcmp(priv->fb, priv->copy_fb, priv->fb_size), + "Copy framebuffer does not match fb"); + +@@ -705,7 +706,7 @@ static int dm_test_video_copy(struct unit_test_state *uts) + vidconsole_put_string(con, test_string); + vidconsole_put_string(con, test_string); + ut_asserteq(7589, compress_frame_buffer(uts, dev, false)); +- ut_asserteq(5278, compress_frame_buffer(uts, dev, true)); ++ ut_asserteq(4127, compress_frame_buffer(uts, dev, true)); + + return 0; + } +-- +2.49.0 + + +From 631692ed7090a8cfd0b2a3b3f23c295644f1393e Mon Sep 17 00:00:00 2001 +From: Alexander Graf <agraf@csgraf.de> +Date: Tue, 3 Jan 2023 22:50:03 +0100 +Subject: [PATCH 12/13] video: Always compile cache flushing code + +The dcache flushing code path was conditional on ARM && !DCACHE config +options. However, dcaches exist on other platforms as well and may need +clearing if their driver requires it. + +Simplify the compile logic and always enable the dcache flush logic in +the video core. That way, drivers can always rely on it to call the arch +specific callbacks. + +This will increase code size for non-ARM platforms with CONFIG_VIDEO=y +slightly. + +Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de> +Signed-off-by: Alexander Graf <agraf@csgraf.de> +Reviewed-by: Simon Glass <sjg@chromium.org> +Link: https://lore.kernel.org/u-boot/20230821135111.3558478-13-alpernebiyasak@gmail.com/ +--- + drivers/video/video-uclass.c | 12 +++++------- + 1 file changed, 5 insertions(+), 7 deletions(-) + +diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c +index eeee5d960838..6c5a86d85dbc 100644 +--- a/drivers/video/video-uclass.c ++++ b/drivers/video/video-uclass.c +@@ -398,6 +398,9 @@ static void video_flush_dcache(struct udevice *vid, bool use_copy) + struct video_priv *priv = dev_get_uclass_priv(vid); + ulong fb = use_copy ? (ulong)priv->copy_fb : (ulong)priv->fb; + ++ if (CONFIG_IS_ENABLED(SYS_DCACHE_OFF)) ++ return; ++ + if (!priv->flush_dcache) + return; + +@@ -467,17 +470,12 @@ int video_sync(struct udevice *vid, bool force) + get_timer(priv->last_sync) < CONFIG_VIDEO_SYNC_MS) + return 0; + +- /* +- * flush_dcache_range() is declared in common.h but it seems that some +- * architectures do not actually implement it. Is there a way to find +- * out whether it exists? For now, ARM is safe. +- */ +-#if defined(CONFIG_ARM) && !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) + video_flush_dcache(vid, false); + + if (IS_ENABLED(CONFIG_VIDEO_COPY)) + video_flush_dcache(vid, true); +-#elif defined(CONFIG_VIDEO_SANDBOX_SDL) ++ ++#if defined(CONFIG_VIDEO_SANDBOX_SDL) + sandbox_sdl_sync(priv->fb); + #endif + priv->last_sync = get_timer(0); +-- +2.49.0 + + +From 08f3add44c202053f5ba882cb2f440e8e470229c Mon Sep 17 00:00:00 2001 +From: Alexander Graf <agraf@csgraf.de> +Date: Tue, 3 Jan 2023 22:50:04 +0100 +Subject: [PATCH 13/13] video: Enable VIDEO_DAMAGE for drivers that need it + +Some drivers call video_set_flush_dcache() to indicate that they want to +have the dcache flushed for the frame buffer. These drivers benefit from +our new video damage control, because we can reduce the amount of memory +that gets flushed significantly. + +This patch enables video damage control for all device drivers that call +video_set_flush_dcache() to make sure they benefit from it. + +Signed-off-by: Alexander Graf <agraf@csgraf.de> +[Alper: Add to VIDEO_TIDSS, imply instead of select] +Co-developed-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Reviewed-by: Simon Glass <sjg@chromium.org> +Link: https://lore.kernel.org/u-boot/20230821135111.3558478-14-alpernebiyasak@gmail.com/ +--- + arch/arm/mach-sunxi/Kconfig | 1 + + drivers/video/Kconfig | 8 ++++++++ + drivers/video/exynos/Kconfig | 1 + + drivers/video/imx/Kconfig | 1 + + drivers/video/meson/Kconfig | 1 + + drivers/video/rockchip/Kconfig | 1 + + drivers/video/stm32/Kconfig | 1 + + drivers/video/tegra20/Kconfig | 1 + + drivers/video/tidss/Kconfig | 1 + + 9 files changed, 16 insertions(+) + +diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig +index ba1b15414379..bb1ea961704e 100644 +--- a/arch/arm/mach-sunxi/Kconfig ++++ b/arch/arm/mach-sunxi/Kconfig +@@ -882,6 +882,7 @@ config VIDEO_SUNXI + depends on !SUNXI_GEN_NCAT2 + select VIDEO + select DISPLAY ++ imply VIDEO_DAMAGE + imply VIDEO_DT_SIMPLEFB + default y + ---help--- +diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig +index 964174b01acc..6e1577ae6871 100644 +--- a/drivers/video/Kconfig ++++ b/drivers/video/Kconfig +@@ -534,6 +534,7 @@ config VIDEO_LCD_ANX9804 + + config ATMEL_LCD + bool "Atmel LCD panel support" ++ imply VIDEO_DAMAGE + depends on ARCH_AT91 + + config ATMEL_LCD_BGR555 +@@ -543,6 +544,7 @@ config ATMEL_LCD_BGR555 + + config VIDEO_BCM2835 + bool "Display support for BCM2835" ++ imply VIDEO_DAMAGE + help + The graphics processor already sets up the display so this driver + simply checks the resolution and then sets up the frame buffer with +@@ -715,6 +717,7 @@ source "drivers/video/meson/Kconfig" + + config VIDEO_MVEBU + bool "Armada XP LCD controller" ++ imply VIDEO_DAMAGE + ---help--- + Support for the LCD controller integrated in the Marvell + Armada XP SoC. +@@ -749,6 +752,7 @@ config NXP_TDA19988 + + config ATMEL_HLCD + bool "Enable ATMEL video support using HLCDC" ++ imply VIDEO_DAMAGE + help + HLCDC supports video output to an attached LCD panel. + +@@ -825,6 +829,7 @@ source "drivers/video/tidss/Kconfig" + + config VIDEO_TEGRA124 + bool "Enable video support on Tegra124" ++ imply VIDEO_DAMAGE + help + Tegra124 supports many video output options including eDP and + HDMI. At present only eDP is supported by U-Boot. This option +@@ -839,6 +844,7 @@ source "drivers/video/imx/Kconfig" + + config VIDEO_MXS + bool "Enable video support on i.MX28/i.MX6UL/i.MX7 SoCs" ++ imply VIDEO_DAMAGE + help + Enable framebuffer driver for i.MX28/i.MX6UL/i.MX7 processors + +@@ -901,6 +907,7 @@ config VIDEO_DW_MIPI_DSI + + config VIDEO_SIMPLE + bool "Simple display driver for preconfigured display" ++ imply VIDEO_DAMAGE + help + Enables a simple generic display driver which utilizes the + simple-framebuffer devicetree bindings. +@@ -919,6 +926,7 @@ config VIDEO_DT_SIMPLEFB + + config VIDEO_MCDE_SIMPLE + bool "Simple driver for ST-Ericsson MCDE with preconfigured display" ++ imply VIDEO_DAMAGE + help + Enables a simple display driver for ST-Ericsson MCDE + (Multichannel Display Engine), which reads the configuration from +diff --git a/drivers/video/exynos/Kconfig b/drivers/video/exynos/Kconfig +index 599d19d5ecc2..a2cf752aac03 100644 +--- a/drivers/video/exynos/Kconfig ++++ b/drivers/video/exynos/Kconfig +@@ -12,6 +12,7 @@ config EXYNOS_DP + + config EXYNOS_FB + bool "Exynos FIMD support" ++ imply VIDEO_DAMAGE + + config EXYNOS_MIPI_DSIM + bool "Exynos MIPI DSI support" +diff --git a/drivers/video/imx/Kconfig b/drivers/video/imx/Kconfig +index 34e8b640595b..5db3e5c0499e 100644 +--- a/drivers/video/imx/Kconfig ++++ b/drivers/video/imx/Kconfig +@@ -2,6 +2,7 @@ + config VIDEO_IPUV3 + bool "i.MX IPUv3 Core video support" + depends on VIDEO && (MX5 || MX6) ++ imply VIDEO_DAMAGE + help + This enables framebuffer driver for i.MX processors working + on the IPUv3(Image Processing Unit) internal graphic processor. +diff --git a/drivers/video/meson/Kconfig b/drivers/video/meson/Kconfig +index 3c2d72d019b8..fcf486ca0a3a 100644 +--- a/drivers/video/meson/Kconfig ++++ b/drivers/video/meson/Kconfig +@@ -8,5 +8,6 @@ config VIDEO_MESON + bool "Enable Amlogic Meson video support" + depends on VIDEO + select DISPLAY ++ imply VIDEO_DAMAGE + help + Enable Amlogic Meson Video Processing Unit video support. +diff --git a/drivers/video/rockchip/Kconfig b/drivers/video/rockchip/Kconfig +index 01804dcb1cc8..0f4550a29e38 100644 +--- a/drivers/video/rockchip/Kconfig ++++ b/drivers/video/rockchip/Kconfig +@@ -11,6 +11,7 @@ + menuconfig VIDEO_ROCKCHIP + bool "Enable Rockchip Video Support" + depends on VIDEO ++ imply VIDEO_DAMAGE + help + Rockchip SoCs provide video output capabilities for High-Definition + Multimedia Interface (HDMI), Low-voltage Differential Signalling +diff --git a/drivers/video/stm32/Kconfig b/drivers/video/stm32/Kconfig +index 48066063e4c5..c354c402c288 100644 +--- a/drivers/video/stm32/Kconfig ++++ b/drivers/video/stm32/Kconfig +@@ -8,6 +8,7 @@ + menuconfig VIDEO_STM32 + bool "Enable STM32 video support" + depends on VIDEO ++ imply VIDEO_DAMAGE + help + STM32 supports many video output options including RGB and + DSI. This option enables these supports which can be used on +diff --git a/drivers/video/tegra20/Kconfig b/drivers/video/tegra20/Kconfig +index f5c4843e1191..2232b0b3ff53 100644 +--- a/drivers/video/tegra20/Kconfig ++++ b/drivers/video/tegra20/Kconfig +@@ -1,6 +1,7 @@ + config VIDEO_TEGRA20 + bool "Enable Display Controller support on Tegra20 and Tegra 30" + depends on OF_CONTROL ++ imply VIDEO_DAMAGE + help + T20/T30 support video output to an attached LCD panel as well as + other options such as HDMI. Only the LCD is supported in U-Boot. +diff --git a/drivers/video/tidss/Kconfig b/drivers/video/tidss/Kconfig +index 95086f3a5d66..3291b3ceb8d5 100644 +--- a/drivers/video/tidss/Kconfig ++++ b/drivers/video/tidss/Kconfig +@@ -11,6 +11,7 @@ + menuconfig VIDEO_TIDSS + bool "Enable TIDSS video support" + depends on VIDEO ++ imply VIDEO_DAMAGE + help + TIDSS supports video output options LVDS and + DPI . This option enables these supports which can be used on +-- +2.49.0 + diff --git a/config/module/u-boot/default/patches/0004-HACK-Makefile-Ignore-missing-input-files-for-binman.patch b/config/module/u-boot/default/patches/0004-HACK-Makefile-Ignore-missing-input-files-for-binman.patch new file mode 100644 index 00000000..5307f378 --- /dev/null +++ b/config/module/u-boot/default/patches/0004-HACK-Makefile-Ignore-missing-input-files-for-binman.patch @@ -0,0 +1,34 @@ +From faa87ed4d2ff07e9e8cc98cd08cbb34c905c1ac6 Mon Sep 17 00:00:00 2001 +From: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Date: Wed, 10 Jul 2024 17:37:56 +0300 +Subject: [PATCH] HACK: Makefile: Ignore missing input files for binman images + +For Rockchip boards binman tries to build SPI and MMC images that +require an externally built BL31 file to be provided, and the build +fails otherwise. + +Some downstreams only care about build outputs for U-Boot proper. As a +hack to make sure they can do so without passing in a BL31 file, tell +binman to ignore missing input files. + +Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index a7593e8a1680..30deb760bf8f 100644 +--- a/Makefile ++++ b/Makefile +@@ -1410,7 +1410,7 @@ cmd_binman = $(srctree)/tools/binman/binman $(if $(BINMAN_DEBUG),-D) \ + $(if $(BINMAN_VERBOSE),-v$(BINMAN_VERBOSE)) \ + build -u -d $(binman_dtb) -O . -m \ + --allow-missing --fake-ext-blobs \ +- $(if $(BINMAN_ALLOW_MISSING),--ignore-missing) \ ++ --ignore-missing \ + -I . -I $(srctree) -I $(srctree)/board/$(BOARDDIR) \ + $(foreach f,$(of_list_dirs),-I $(f)) -a of-list=$(of_list) \ + $(foreach f,$(BINMAN_INDIRS),-I $(f)) \ +-- +2.49.0 + diff --git a/config/module/u-boot/default/patches/0005-HACK-rk3399-gru-Remove-assigned-clock-dt-properties-.patch b/config/module/u-boot/default/patches/0005-HACK-rk3399-gru-Remove-assigned-clock-dt-properties-.patch new file mode 100644 index 00000000..018da338 --- /dev/null +++ b/config/module/u-boot/default/patches/0005-HACK-rk3399-gru-Remove-assigned-clock-dt-properties-.patch @@ -0,0 +1,36 @@ +From d02163324baeb817ed55df41fac863cab4be038c Mon Sep 17 00:00:00 2001 +From: Alper Nebi Yasak <alpernebiyasak@gmail.com> +Date: Wed, 10 Jul 2024 14:32:19 +0300 +Subject: [PATCH] HACK: rk3399: gru: Remove assigned clock dt properties for + EDP node + +Having the PCLK_EDP clock in the assigned-clocks property of the `edp` +node means that U-Boot tries to set its rate automatically. This clock +isn't implemented for the RK3399 clock driver, so it fails and prevents +display from being initialized. + +The display happens to work fine without it, remove the property until +the clock driver can handle the clock. + +Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> +--- + arch/arm/dts/rk3399-gru-u-boot.dtsi | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/arch/arm/dts/rk3399-gru-u-boot.dtsi b/arch/arm/dts/rk3399-gru-u-boot.dtsi +index 5517176aa4a0..9f40cf1e0208 100644 +--- a/arch/arm/dts/rk3399-gru-u-boot.dtsi ++++ b/arch/arm/dts/rk3399-gru-u-boot.dtsi +@@ -27,6 +27,9 @@ &cros_ec { + + &edp { + rockchip,panel = <&edp_panel>; ++ ++ /delete-property/ assigned-clocks; ++ /delete-property/ assigned-clock-rates; + }; + + &emmc_phy { +-- +2.49.0 + diff --git a/config/module/u-boot/default/patches/0006-Support-auto-boot-timeout-delay-bootflow-menu.patch b/config/module/u-boot/default/patches/0006-Support-auto-boot-timeout-delay-bootflow-menu.patch new file mode 100644 index 00000000..ffc7b581 --- /dev/null +++ b/config/module/u-boot/default/patches/0006-Support-auto-boot-timeout-delay-bootflow-menu.patch @@ -0,0 +1,302 @@ +From d9371422ac74ea73d1620f01300a7136a7649754 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Wed, 4 Dec 2024 06:52:39 +0000 +Subject: [PATCH 1/1] Support auto-boot timeout delay bootflow menu + +The bootflow menu cannot currently auto-boot a selected entry, +which means that the user must press enter to boot their system. +This can be a problem on headless setups; for example, it is not +currently feasible to set up a headless server with U-Boot, when +using it to boot via UEFI on a coreboot setup. + +This patch adds the following build-time configuration option: + +CONFIG_CMD_BOOTFLOW_BOOTDELAY + +This creates a timeout delay in the given number of seconds. +If an arrow key is press to navigate the menu, the timer is +disabled and the user must then press enter to boot the selected +option. When this happens, the timeout display is replaced by +the old message indicating that the user should press enter. + +The default boot delay is 30 seconds, and the timeout is enabled +by default. Setting it to zero will restore the old behaviour, +whereby no timeout is provided and the user must press enter. + +If a negative integer is provided, the timer will default to +zero. The timer value is further filtered by modulus of 100, +so that the maximum number of seconds allowed is 99 seconds. + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + boot/bootflow_menu.c | 117 +++++++++++++++++++++++++++++++++++-- + cmd/Kconfig | 12 ++++ + doc/usage/cmd/bootflow.rst | 11 ++++ + include/bootflow.h | 10 +++- + 4 files changed, 143 insertions(+), 7 deletions(-) + +diff --git a/boot/bootflow_menu.c b/boot/bootflow_menu.c +index 9d0dc352f9..172139b187 100644 +--- a/boot/bootflow_menu.c ++++ b/boot/bootflow_menu.c +@@ -30,7 +30,7 @@ struct menu_priv { + int num_bootflows; + }; + +-int bootflow_menu_new(struct expo **expp) ++int bootflow_menu_new(struct expo **expp, const char *prompt) + { + struct udevice *last_bootdev; + struct scene_obj_menu *menu; +@@ -54,7 +54,7 @@ int bootflow_menu_new(struct expo **expp) + return log_msg_ret("scn", ret); + + ret |= scene_txt_str(scn, "prompt", OBJ_PROMPT, STR_PROMPT, +- "UP and DOWN to choose, ENTER to select", NULL); ++ prompt, NULL); + + ret = scene_menu(scn, "main", OBJ_MENU, &menu); + ret |= scene_obj_set_pos(scn, OBJ_MENU, MARGIN_LEFT, 100); +@@ -138,6 +138,29 @@ int bootflow_menu_new(struct expo **expp) + return 0; + } + ++int bootflow_menu_show_countdown(struct expo *exp, char *prompt, ++ char bootflow_delay) ++{ ++ char *i; ++ ++ if (prompt == NULL) ++ return 0; ++ if (strlen(prompt) < 2) ++ return 0; ++ ++ i = prompt + strlen(prompt) - 2; ++ ++ if (bootflow_delay >= 10) { ++ *(i) = 48 + (bootflow_delay / 10); ++ *(i + 1) = 48 + (bootflow_delay % 10); ++ } else { ++ *(i) = 48 + bootflow_delay; ++ *(i + 1) = ' '; ++ } ++ ++ return expo_render(exp); ++} ++ + int bootflow_menu_apply_theme(struct expo *exp, ofnode node) + { + struct menu_priv *priv = exp->priv; +@@ -184,14 +207,62 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + struct expo *exp; + uint sel_id; + bool done; +- int ret; ++ int i, ret; ++ ++ /* Auto-boot countdown */ ++ char bootflow_delay_secs, *prompt; ++ int bootflow_time, bootflow_delay; ++ bool skip_render_once = false; ++ bool bootflow_countdown = false; ++ ++ /* TODO: perhaps set based on defconfig? */ ++ /* WARNING: These two strings must be of the same length. */ ++ char promptChoice[] = "UP and DOWN to choose, ENTER to select"; ++ char promptTimeout[] = "UP and DOWN to choose. Auto-boot in "; ++/* ++ // Uncomment if the strings become configurable (defconfig): ++ // (to prevent buffer overflows) ++ char promptDefault[] = "UP and DOWN to choose, ENTER to select"; ++ if (promptTimeout = NULL) ++ promptTimeout = promptDefault; ++ if (promptChoice = NULL) ++ promptChoice = promptDefault; ++ if (strlen(promptChoice) < 2) ++ promptChoice = promptDefault; ++ if (strlen(promptTimeout) < 2) ++ promptTimeout = promptDefault; ++ if (strlen(promptChoice) != strlen(promptTimeout)) ++ promptChoice = promptTimeout; ++*/ ++ prompt = promptChoice; ++ ++ bootflow_delay_secs = 15; /* TODO: set based on defconfig. */ ++ ++#if defined(CONFIG_CMD_BOOTFLOW_BOOTDELAY) ++ /* If set to zero, the auto-boot timeout is disabled. */ ++ bootflow_delay_secs = CONFIG_CMD_BOOTFLOW_BOOTDELAY; ++#else ++ bootflow_delay_secs = 30; ++#endif ++ ++ if (bootflow_delay_secs < 0) ++ bootflow_delay_secs = 0; /* disable countdown if negative */ ++ bootflow_delay_secs %= 100; /* No higher than 99 seconds */ ++ ++ if (bootflow_delay_secs > 0) { ++ bootflow_countdown = true; /* enable auto-boot countdown */ ++ prompt = promptTimeout; ++ bootflow_time = 0; /* Time elapsed in milliseconds */ ++ bootflow_delay = ++ (int)bootflow_delay_secs * 1000; /* milliseconds */ ++ } + + cli_ch_init(cch); + + sel_bflow = NULL; + *bflowp = NULL; + +- ret = bootflow_menu_new(&exp); ++ ret = bootflow_menu_new(&exp, prompt); + if (ret) + return log_msg_ret("exp", ret); + +@@ -216,12 +287,20 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + if (text_mode) + expo_set_text_mode(exp, text_mode); + ++ if (bootflow_countdown) { ++ ret = bootflow_menu_show_countdown(exp, prompt, ++ bootflow_delay_secs); ++ skip_render_once = true; /* Don't print menu twice on start */ ++ } + done = false; + do { + struct expo_action act; + int ichar, key; + +- ret = expo_render(exp); ++ if (skip_render_once) ++ skip_render_once = false; ++ else ++ ret = expo_render(exp); + if (ret) + break; + +@@ -231,7 +310,23 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + schedule(); + mdelay(2); + ichar = cli_ch_process(cch, -ETIMEDOUT); ++ if (bootflow_countdown) { ++ bootflow_delay -= 2; ++ bootflow_time += 2; ++ if (bootflow_delay <= 0) ++ ichar='\n'; ++ if (bootflow_time < 1000) ++ continue; ++ bootflow_time = 0; ++ --bootflow_delay_secs; ++ ret = bootflow_menu_show_countdown(exp, ++ prompt, bootflow_delay_secs); ++ if (ret) ++ break; ++ } + } ++ if (ret) ++ break; + if (!ichar) { + ichar = getchar(); + ichar = cli_ch_process(cch, ichar); +@@ -265,6 +360,17 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + break; + } + } ++ if (bootflow_countdown) { ++ /* A key press interrupted the auto-boot timeout */ ++ bootflow_countdown = false; ++ if (strlen(prompt) == strlen(promptChoice)) { ++ /* "Auto-boot in" becomes "Press ENTER" */ ++ (void) memcpy(prompt, promptChoice, ++ strlen(promptChoice)); ++ ret = expo_render(exp); ++ skip_render_once = true; ++ } ++ } + } while (!done); + + if (ret) +@@ -272,7 +378,6 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + + if (sel_id) { + struct bootflow *bflow; +- int i; + + for (ret = bootflow_first_glob(&bflow), i = 0; !ret && i < 36; + ret = bootflow_next_glob(&bflow), i++) { +diff --git a/cmd/Kconfig b/cmd/Kconfig +index 978f44eda4..0303869625 100644 +--- a/cmd/Kconfig ++++ b/cmd/Kconfig +@@ -288,6 +288,7 @@ config CMD_BOOTDEV + config CMD_BOOTFLOW + bool "bootflow" + depends on BOOTSTD ++ select CMD_BOOTFLOW_BOOTDELAY + default y + help + Support scanning for bootflows available with the bootdevs. The +@@ -303,6 +304,17 @@ config CMD_BOOTFLOW_FULL + + This command is not necessary for bootstd to work. + ++config CMD_BOOTFLOW_BOOTDELAY ++ int "bootflow - delay in seconds before booting the first menu option" ++ depends on CMD_BOOTFLOW ++ default 30 ++ help ++ On the bootflow menu, wait for the defined number of seconds before ++ automatically booting. Unless interrupted, this will auto-boot the ++ first option in the generated list of boot options. ++ ++ Set this to zero if you wish to disable the auto-boot timeout. ++ + config CMD_BOOTMETH + bool "bootmeth" + depends on BOOTSTD +diff --git a/doc/usage/cmd/bootflow.rst b/doc/usage/cmd/bootflow.rst +index 5d41fe37a7..728f294274 100644 +--- a/doc/usage/cmd/bootflow.rst ++++ b/doc/usage/cmd/bootflow.rst +@@ -32,6 +32,17 @@ Note that `CONFIG_BOOTSTD_FULL` (which enables `CONFIG_CMD_BOOTFLOW_FULL) must + be enabled to obtain full functionality with this command. Otherwise, it only + supports `bootflow scan` which scans and boots the first available bootflow. + ++The `CONFIG_CMD_BOOTFLOW_BOOTDELAY` option can be set, defining (in seconds) the ++amount of time that U-Boot will wait; after this time passes, it will ++automatically boot the first item when generating a bootflow menu. If the value ++is set to zero, the timeout is disabled and the user must press enter; if it's ++negative, the timeout is disabled, and the maximum number of seconds is 99 ++seconds. If a value higher than 100 is provided, the value is changed to a ++modulus of 100 (remainder of the value divided by 100). ++ ++If the `CONFIG_BOOTFLOW_BOOTFLOW` option is undefined, the timeout will default ++to 30 seconds. ++ + bootflow scan + ~~~~~~~~~~~~~ + +diff --git a/include/bootflow.h b/include/bootflow.h +index 4d2fc7b69b..9f4245caa7 100644 +--- a/include/bootflow.h ++++ b/include/bootflow.h +@@ -452,7 +452,15 @@ int bootflow_iter_check_system(const struct bootflow_iter *iter); + * @expp: Returns the expo created + * Returns 0 on success, -ve on error + */ +-int bootflow_menu_new(struct expo **expp); ++int bootflow_menu_new(struct expo **expp, const char *prompt); ++ ++/** ++ * bootflow_menu_show_countdown() - Show countdown timer for auto-boot ++ * ++ * Returns the value of expo_render() ++ */ ++int bootflow_menu_show_countdown(struct expo *exp, char *prompt, ++ char bootflow_delay); + + /** + * bootflow_menu_apply_theme() - Apply a theme to a bootmenu +-- +2.39.5 + diff --git a/config/module/u-boot/default/patches/0007-Libreboot-branding-version-on-the-bootflow-menu.patch b/config/module/u-boot/default/patches/0007-Libreboot-branding-version-on-the-bootflow-menu.patch new file mode 100644 index 00000000..ec033187 --- /dev/null +++ b/config/module/u-boot/default/patches/0007-Libreboot-branding-version-on-the-bootflow-menu.patch @@ -0,0 +1,213 @@ +From 4ff0f509aa28eb8e85f1c0c9929c63996c646bb8 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Wed, 4 Dec 2024 18:20:19 +0000 +Subject: [PATCH 1/1] Libreboot branding/version on the bootflow menu + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + boot/bootflow_menu.c | 2 +- + drivers/video/u_boot_logo.bmp | Bin 6932 -> 27350 bytes + 2 files changed, 1 insertion(+), 1 deletion(-) + +diff --git a/boot/bootflow_menu.c b/boot/bootflow_menu.c +index 84831915a2..8e26ec2aef 100644 +--- a/boot/bootflow_menu.c ++++ b/boot/bootflow_menu.c +@@ -59,7 +59,7 @@ int bootflow_menu_new(struct expo **expp, const char *prompt) + ret = scene_menu(scn, "main", OBJ_MENU, &menu); + ret |= scene_obj_set_pos(scn, OBJ_MENU, MARGIN_LEFT, 100); + ret |= scene_txt_str(scn, "title", OBJ_MENU_TITLE, STR_MENU_TITLE, +- "U-Boot - Boot Menu", NULL); ++ "Libreboot 26.01 Magnanimous Max (U-Boot menu): https://libreboot.org/", NULL); + ret |= scene_menu_set_title(scn, OBJ_MENU, OBJ_PROMPT); + + logo = video_get_u_boot_logo(); +diff --git a/drivers/video/u_boot_logo.bmp b/drivers/video/u_boot_logo.bmp +index 47f1e9b99789584d2f6dd71e954b51927b35d783..bc9ae001badb25bc900058c167a47247ef91dc7c 100644 +GIT binary patch +literal 27350 +zcmeI4X;4&Wy2qdHrW-_vf~Q+fvxtHMDuIZCglHm=fVhAxir~hgf>ENNF(W3?XpH+1 +zw}==uio$3#35sl^*F+S*+^So3t7fU1n$PoLKHXb0U#6y<|MQ++Xy|4+$n8^eeap7r +zKIil~zy3eV`@HYzCVj>4wvlMbK18wTU9&xO<R`XMCDHE#l?Umt2@lCAljLtD*%VHp +z6Rczowo=GcnJlK66y`gf!Y4%Gm<1$-#E>MXP)LkS)`eD*V$#TxIG3XQWs30+r8r5Z +zg_C89GDgvK|5-F+Vl2(^jiNcmI9lKvNArz|lx9q(#l}>MiIQplOqmi=acxsJNpBR8 +z<X4UUXCy_xPtyE6k`k*(TD*tCvSf-V1Ybb{P1_z#p*8PP#ICs%z9)&o_b#NcU!~F9 +zY?-2qWtzJ|rngqhl(bH!v=W)7m&+7cHI3pn;dxsmNlS~#ytb62oLv;MC6~fJ&7jcF +zb4V)NMw$5BIp$DW6Jn*M0dbUWe1}#CCQwPxOv;}l)3&fs+A?J})deThhx26Gjn9x{ +z%%EIjHsu?0XuYw3Hk(${W@8Ce8`o2P;Bu;)P>4qXWv!7Z1ANPhWGVq`L7_~g`7&)^ +zDN{wBOjUT)Etjc22YMKf<8gtc2t16fc>GAx#5R(GZ{zWRBx^fKZ{nDQ8zjx>AZczF +z^y(%l?YAW5og*pZ5k4pSB|nf<hvO<9lC<+4Nh_a_RDeh6FWB~!qz`+s{~1a3y%c(I +z8HFA$AnTE0vL0PW))N&ZpRT5<M?N9BVF!hrsiTnd`zYk%XEgQdX$omPL?M@tllkI# +zlFocjQ@=Y)mgXih-@HMV)@HKYxkFNG2bu5vMCKnKlDVyiq(ivg2|Ui?noW4zK>rS& +zANJDm@Y!_2vWQMw7traDG&&!;fEwgfYK(Y`j>TH(TwEwM&9Ty%`7)i0ilT2L<Ebe! +zk(v`^x(8c)zgVUR2@%x(Ryf^XBvVgPDD|YtbZgcux*k27ZpK8@owz9aDL#@8Oj=5Z +zgEHx;^d5Z$-#P?)ocuthqj)}>DN|FrOgEOu)cT%GPm-<FyHHkQ=il^y%j@=9f!7NB +zJ1AhbSWH^|9KK5W)N7N_Y_{R?lNKd3>uE-1<%~!Z`1E><#SB|(se#Y5b!$~s)#m9e +zp|95XEEb{(%vV*ll?nA4)6ZhjGoV7anXRlP>oSW8fTl{DgpufLPC-sF6Dq3&A^^2# +zV)!5vIsmn1VvEI>U}c)H8BsC;3Th6}3_>)M4bWF}fE*}5<W#d2QLIHik!mVARm0ZW +z1cZe-Q)9J4vw$-gFbeA@np6<63lFTWo`EGE&E;uUjIb_KUH##Qk($iYB1E<VZ~Jzn +zK`mMsxn+7a@II<B=`;zbC*3ySeYA6nMuV7W2IK9lMLFoFK@(#TVZ2?nwf+tZYpJTn +zit-kLx4VWdY@6R{DBB=HcJA6$yL<P(Spe+UG*Z@JkP~=&_SH`W-Nc!*VrE7A3r=ki +z64lh!*6ypXuisx+_vvR!`(zQrYN9kGng!$TtKYx>)6eX9-1&GW6M8+Qk)kK=177|9 +zPaSkN5kHQ86@X@51sKEVjww6%px!_{P%c7kIJW8<pU}W|7=tep?Qy3bi+G?8^6JO1 +z+Qn%0rdC9v9d3-vc%OfM;8z^V>Yb1%AU1a1eB97LQ>h^W#I11!-+_i`NT?bRg=Nx$ +z1<56AOCy+2)p-yg2;IRA>K(Xr;8IhX+7mMkk#YWll9JN(8`iOgY5*~&MaO(Rh>!6O +zT)NcMba@d@Y*HB}2r$E2Yk{|^tZXUf5o*SETplet<`Wl2A>XB@%a<=-**k^_3IHj* +zbp57H8_O$JAe7Yr@;SIotaB3D@WA)&x8LrC52~)daAIA=hO&+2Pkvc}z8Vu-EPjH~ +z6m8FfcDyFwUAc0l!H0A@b!Qf{2r@*hsCe?US3Mvu&c#)<qM+h@@I6-V%GIll7v8{K +ze3c18AtXcair!}{RV&EqK*U81XjhN%px)JMXp8Y}1oc+t_Y&QC_J9>sKia_u2jGG4 +zs^Gi!4JR5jb!Im6hfjb0{6&uHQ{ciVrxC@D%);_rwc$a+3rjEw;HE0snDsi{oxT?g +zsMb-;$ftFm3+pz)`PldD>amH@ex0V&u7c8R^5=ULoHE3JLn~`G8)(W4v~=Xep%3-6 +zmv7+A0^TK&mu>1P)>ZKM|Ar-#kZxR>-eMR&uL%p^247z=>C|Q`qBr{E^|!8_u<`u4 +zGhZ#9G|30HR?Mxi4lf}-y%6yJWVK!lC)P2al34~CR}eDZ$x|neeR=rc+}X2Z0|NsB +zj1Dn}yd%X1rdGD_4|szo8xFIb=wm0|0Ow=A#*639d@b<4IGC6aKW9$L!W6XF0Fi!h +zT~|Z9zJhxPG2aWML6tFr3@FsQ>_~ieyDI8kJTLH$9#-%K90Q`+8SS?$IL!^<gN0iK +zAYw#a7K8(GQQ#(Y1s~KqbNa-wBM!WI3Y+c!d4Y<I;@Wz>-p?H5YA>S6%-62k1>y5U +zI^UTyr%oL^^5qu?-%W^*U)Wzh8)9sL!yE1K<L8tL0<IK%zftRgM0=Y&st4nqgnC~d +zV!SzS=u%SVB_&N$L^K!-gnvr2%LoDc`r6y?_hhQHu#RSO;&T%k*Di|CJ${t&65Xqp +zlA4r+dU={Lcp6uHPkvspA~RT-!r3Ag0=BoexAk<WOftwY4Ic2m;miWO!v_y0zUf}R +z)YJvQTf1R{C`h0D^7GT)XU`w3%$%$+nk^CpY`fpq)7|-<8Vh48O*E6$8#ruSYgF(! +z@rlgh5*W4@HoW!VgL;q;c+Z|cgvZ?mqP^v`we@s$bs>f&yV*zjY{o5i(q9-%=fD%8 +z3-vtVVY0?}WiYNyy$8&P_Crpv%^TagJ32b=-NdVra@mh#Jo0zreD=KT%q(sIAs^2r +zF&o-cUjD?Uo*j=7e_WXk84cZnuO)l*d=`X9gIhd=u08Q3#=q@0bm4of9#7Wnc+Vd^ +zU@k}N>$`tD=QrIQot^jYwcJt>B1kW8@DRF;cl^lVLkANR<LA8XM!XcEUWu4XmUHO- +z%)ZxOJy7=D=h$HDwzS;3o;7*_iPEmPjA+UWMLm&OkeA&%Us6)Cn2B#H+lbKkg(LU5 +zhz+NDNGxr_`R=ydym_m6`RMs{q`NSPkDU)S%TXRS65m8k;HIUfCM74cdLndz_mm^o +z#k$DL?QPxN-JP9`*L?l@>e2I=NS8K{&z4!B-WTsCycz$tJL|G>1>Pnlbe{_OY>{gd +z5PXVp@3yquymkHYV-@!0Y0O?%K&9e4&ZC;h%WlMj?<wjbHh9>8dTd>AwHgfRD{o`k +zfuf+DeXqN#^X@%?mo-&QhDMF1a{*M;J9YGkZP;+9UYrQsQVw0t%bfV&d(4MnmfPf@ +zDH$1=nVH!c*%=wx+1bmo-WU1Wp4Ue6jHQAlP6Zngx+jrYjvi7fK6iL2DXB2-+EUKT +z8!I^R!S|HVXtfsz3a9J;s^)>bC`Pltu@N$!Bk_5zS>Sx7N@h_;H5QNMd(j6zlvjE; +zn4=!t93sQSx+RTFXvgDvnJYfGp_`I~yllf0&ezM<WjZvjqwMvcSSeOJb#u_6!%H!y +zB}g<E&Y%7I^r>UE#OEQiFrLWE8*Q=i?AcF_ynK7~Iix>{hdve(bmafeug{<R`XuAA +zdY*~`;Mp>Zg2(DTcql@a1q>P&KzJcfZYRC-)v04&a%N#Xccbn+N8-a0pFOiU)Kd)X +zL4+}GwyhHQOj^9yvwHA7c0Q3=5W2`L9J;KVy}`ihBVm}205dDiCm?Wkoa<aor0G;q +z6d*RZUd9S3Mm2<n3*QTay7i=C&>XwDB2=1A=i_4x2nY-ejE#+pQ}~4Mab`hmC>7rT +zx)*&@RL+DP1jBU9CKUZnN(U{Y&T}R{sHY4Y0|(uedX;nWVYmkE_T#iOpc%raIn;x7 +z*|@IOZEtTKXZ;3oDjS@NhOdL~iO@wo+COv=BJJ%x<C6hBP`PZzlA1ypfzbUAQSrIr +ziJ5rUI3++Alp$WQ#eJ44c+Xu6Qt<Wkc$;sssFZ@A-hu16;Jpxd%=aqB+#wViZkHLW +z0u%(k0ioO1!v$%FcjBWTwAsw}pA4;o)x&h7!~1-EYaHt$KD_$vXu`O_>+JM$eAtCV +z75}4yj(zWb4^MUPVj;+Wh*zJXV34D#!Xlr*>*~@BA6K=RHUXg?7OA>By6)a>Q85c2 +zC!G-_HWy?*VO-3_mubYl_|R}cAz+`PUPmY7(-I#5#qu{>mqS;~#NXGBeu{vKaXGW_ +zD$sQ;@d5C*g4e}se9ZS)OMJ*NnGc2YA+a!C^JC^4!&jtUaVR4PiZwLk<-2!bTr~W$ +z`W0Vf45#xYLr;&g1bOe~P0&4Bjb*AaobXk@6?Xu!1c}g9mLS20;^tLfWDMsc$`NaP +zSc1F(^&YL(9N!e79^_N-inXPmo(!D$T6lf=(WBq4UR^Bd$8P~ag`tVQ=TQynJ!b0` +z7l&xd|B#`VDY3zHz+0m&K4j>0+<R$;dTiV^Yl_0Ore6@_iO_|5MMb&V;`1YYGph&r +zii?Yjii!#`xl{RV4HfP`{9E9F%}(_I7|Jtvm236GUvAV#5WVk$2L-K6IO-FP(;JAU +zDzU-NXKVR9gCD2sjrO#dCfP&Rj%Sl_v}YQh<FRhNoHI*Np%V|i57@?<h!i-WNPI4M +z4nXfCf<Pp`0enSyxnWie#%R9wJ4)kY!C}sdA!OA+HplD2JdAf<{@FWGh=a#Xrx3yH +z%@sieuqodSmva+VG`(YDWjT5%J`vRUIL-@0p8fvAWNV&NE4RG@Zxq#xCubEnM-8`V +zVq-4uoDCCY<FFfEm9+*HpPSY{R~Lq{8+ggSlSA|SvkXSf<^1BUC3A6Uy<`n@8^49C +ztXwCcjf3$<bV`Z8Kf_HwSh&J4lX6RWEWcPA5yg-PnUr7Yh7JT2PN$VR6$*af0+`Fv +zsr*^MkaDQp37Qax4;FqPZp5oR)%d&(fD+2mRjcxB0V`=|5m0<$xLQ$>eZ2Epz<L&+ +zix^COx!J#w@A+Ua>>;uiVczD2E064wL}5kVr~*bt$M<UTi@Y+*js#Ewo}O1WMslzh +zj^STgg%;&$mk;t4iYc!b#2LXQ5f~VNxs2DQg@t_it2n`E5|HJCdVZ@oLyti3|Kmdd +zRj7<@A({l_u}!Q>!p<n?y)e}n+8{)^g@_G{vf83O3uElCuZqLeTGY=`8sJNV+F5$G +zSsj01P}8M>9(-6#7}`g@xK~dmP3s5kinMjte1NeKzgjMxQT*j1Jr97^&`ZoMwOraO +zi!hoS)%qDwvxQ$j#@F4~3cOa}|AzvoVXtkk*iq;69{!wJ&F<R#tn|p@wIz|hf1v>K +zp*LtDMV3|6?Oc+Vhpz*BYJdNo@)t|~JD$(w=_n7|11mSzRp4i9k=XxU#m?H@=x;(l +zdGGF>+`ovvR8dt{iT?NK&#eU@`hVc<<x2mr+}|qtoMB0-EzHlrXTxAckz4!q%lq{! +zs%m%OnE5y+x^hPi&aW?4`jy<@&;1?S_kc|_{@Gf<=9;1cJV)aZMp?9!R!|;AQaSCR +zYT8b_DIU)?*iuLN*q`p<{XD%6!#nrjo!jw_3cMqeKB65|Cf-kM0~~|q)V6L*(mb(A +z7m$v>Z}#VxFaLKY7E{j>{j=fa%YS_L^5s9TW3Bv8L{Dm*@Bio;(ZauBdxLXZ^i})< +z?=aEBUgx&*Z-_d+!UXY;JIiXz#C7<$o%$_Xi2kRAC~z(Q%FKV^NB*UXZrI2B>BjFd +h=Y>|w|C6Zk68;X)R-AjChtJK+<qqA3JjSNqzW{|XuQ>n! + +literal 6932 +zcmb7J3sjWXwf?sM%m9M}3aA(*B(X##snNz*U$IeRG>LimKpwtD@qvhnD4<9bH9<{c +zuq4JwK}|`-nLKJMq^L<PK@Al`udF+i3Xw;XLK{Z}O8hCe_d7pBVs3NqT9@Ul|D3(| +z`OZH3?7h!E$7#<54T15u)dZ|(>zL;!@P@FRI}mW$dVc?6U;U=doSVeY|Ld>M|BzlY +zU9fTnu=epjSoH)D$KUFieXwSh32UFUVBJ&Rh=1COl}`m>&9h#JdwL+&%nnBEvw>Lm +zd|#}e>xWg(55mf4?nT1fepoYa2v*F!7i;GaMeMx$urA_mteig#@e4w+EMg?qN8W>k +zsCy9`^&r+pkHE^vM-U$qj%Cq5!TLoHAYsvi*sx?2Vi!)v#-$G-e(6{&T{IQzmyg5p +zrPHxt#ZQqKJ07viXJF~_S=h8{A`(_Vh83}MusC);HmsS7#I@6~aosd5i(7zA@sDHq +z>L?_{&q89tlUTBLA(pIJj*SU(uxwo{HYd)*qWCx@ZQ|HXQCPZREjA`aW8sEP*qpo& +zNn00T>E>i4rz}BC(l%^LU5-UbJFz)!1(LSMB06~&w(MAm<n%Z!+?I*0=?U1Jo`}V% +z`;e5e3DK#qV9N`ek-RGj3%9?DZJEi~oVg8))3Xts{w7lQZo`(nsff<VLGr#dEX=SY +za#t?4Wu+tKrA(ym--)!WJ&4(J9Lf7%#DdI|*m~e4MD8iTwu4znd3isg_BoLH$^pc@ +z_#V<;J&5gxUPeULhuHesAw=yjLdxN6q-MW?B?nI<`oKqsICvImKYtV3bB<!cE9VjQ +z^6!!U##=}|l85<+E+XyCV~BX|61E>bj`c@A#18ujL>?|f`de=!D*JQHJN!pvymbnx +zx$k2B&;J7vIajg$*hwsSy$U<>-bebe4>9M63p<bh3iIBm#fH33ka6NP<{zm;%#m8e +z9Q_j_-uwa!j$X(1{4<EOHz4Y*Mx?)6gy>&1Au8_+>^%7qmgLnTqo5cu$Lq1{<nOTX +zL<1JR-G~)$H(-bJW30)qMY`itEdFH^b~;P3B>yj1$zR5M7qRr6udwXhzasA4udwTb +z%UFK08LLnJ6}vwy!<vF-?EK)5SmXE$Vo&`IYfrUc=jkh0=lDC4-@lHGUsoXB`88I) +z-;7<quEP5FZeaZf&Div-Mr5A(PbB>6Z`g49@7P=PCnWy*Yi#_@4ZQH%YuI$gjorny +z*j#uMnP=;eRCEhlK5E0B^VgC5+ji_b_a*jy+<>jc9oTmEAK3kI3wHgk2`T3~k@?Br +zkb3?$Qa)+No(q3R+Q&Nf{{CyEUFg8Rk{j6m`+wlYPu<v2(uv)rxA0PFE7Cu`jjW5e +zu(MRho=fe>xY&igmpkynrGH}IXaB&i%iVbK@;~un8OMC~UwG-WZe*7I3t9Z_`NO|3 +z69F=l`CuxfPl!xqYcht5^qI`o1pHVg@;eR>%TM`z7!$~On61&2{+WzsYZP14WfWTv +zVwOC}Z#XGWiD=<$kHB+mjbLjy=E`t>??;4$@%tl0$&dKGkJ2$jy^rmCu|)3WHx!~R +zmr%CuCfAGUFD!Cr_N!@gLjy!iGSNI8+LSRv;j1`{c4zNhJy!E!J9vIZcGl)87Pc+n +z@q2eh`kRP+H*rGXB@!lQymdJ#!}^KL@zJ4OPY#4dBuL)z(&dVbu?RHp%x+k8`9fxK +z#5S`o*%k>Q!cc`UPTH-y+>-JBB5}UD+>~*gAyBUQ=<<zBW7{leC=q8CqUmzZONMgn +z5H&VXnoT-PU%hjz%B0H;3HBp~#+kHIX&~jcjL<}KG#%#doaOOVAdga{#i?=c$Hkqa +z)L71uN*Po8u~RwTq7IC~w3fHXMsnlCO!;Z@HOFRn@Dn&<oHQ%kV<N%b3U?-@EOJ`W +zl4;QfMcYi8CcD`>#S!oDJJ%+I4SXMwD)uvJt7rLb7R}b9dji+_oS}_bW|Q+d`(suA +zI<3uqyV!^oD7V=TBtB=9Fh2<<>L6G}tkgM-sAjpLbP1yd!7$$?L6lXtQTSn8y%r=} +zl#W{{t0c8xnWg$C+5eE=NgnJFe;GvVf%F=p2b0q+8f||@=`^0Z?!|BTci2-DwoNh> +zRt&K|SJ>eat@>H)zsm1(-^U(+z9Pd&zd@VRN-#|mNl>^mJ-A%4O)e`=sYoUzBZyS0 +zkjF@*Lf*~3qDS^3_m=_G`dj4YUgYT>jmH?su$)@Fcx~1V<qeMs_e+;}B3)O=VT@t+ +zkFkG@->1Hh90cx{(zzGeOyoN(O;5fp(Ht|AGN)*Bf9Y1JHW{W+zYsImWReE9NB1HJ +zNDy@n1ikDIWSOo!gAs5*0>9n)aJIOcFkj)UhF?ER%5<W&i?tUoPy&e;07llo;i<9b +z5)-qoDQz}VzrCbbzIZBRSUmNV7-B>#O8cVF&<OfIELkG+6aUPXDI+m)Vt)xBc7HJL +ze*jw&INsav%^B3oCRNn`vRFvf<b5mWZVnQy9V&MONdNy6iQ^|xBW1%NDdmV#31ZtS +zIo`y%HiBUX=87|c(vLX((EoqYh&bWIxyFoS)n?>eYj3}nGlNkMpRt)$x4vn3C&B`g +zK--e7Vi%@k+1ayuF#Va&e|VL|j3;K*@SZpf86^JH!H?PFheyD&cSQJ<on0LBV(*w> +z@iWE*{=gjcqIMZZNfnVpdn9cL`gh4#+V{FVGD2VunLTHmhQY$37JV7DL8JwiHh+}^ +zuGPG{p}8td`EHn$nyX;Gd?s_IH&2<qhV)Cu*BAT6mwhV^iuI1K57%{&JLp525A6(V +z|Ea5Xy!>*?sz(Dx(T*0IE%>e=o6UmB(j!C98zd{Oc3CHbLj}H;(DBc$PJ88@(yAM< +z>F{l?I`{U0)YY>e39(?bcoWx~-VaTC<_P-Q<%m2nNZ_RfPg<OHt^vd7h1bvRju{^m +zZpeD6NU_Sges)<ZX6j=Op0VxREj&cOxN&;(V}ZC|yol+g)~m^?0K2RZt*^io5|ML# +z0{6J;z;i+OeJArwkX;_9l}z4K(yFGCe`U)!ODO#duqcc{a)c7EOMm)_$ucSH=1j`m +z%ARB%`kl<Gfp%D;M0;fKjb|9|4Qb)H%ix;17tC{ha)c7vTalMBkNna(77X(6Im4p^ +z$jf(iA(Fi2je!^_X3lO_vo8&_OTM@kk<*?LNH0(v6ZeF?r2YnP8F@G3tq2recgSPb +zGmAzq-9sCdNN23_l34*BE~^03l&`D87?r#H?BbM`)y#Ji+|S@^JYnGzbW_(qCqNQx +zcDb}pozFA;zvWA!%ACyB3w`a9C$$MYBgO0|8fRDI<+9>uiabmo$d}ecp5NkcGx);$ +z7bODC+^s)zACJJ>E(OxIiD#Y!^)+M&!hg)blPttxghYAS#UUL@j5!JRy%T3PCCtNU +z-@`E5<%F~)D;%q@sCmGjG20?m5M#OC$tJtx%9q=8c|$awYj?`TQ%2Pt^EA7-QgvDM +z9iR4GOztDxf3x<y-PsND+a;K%xz;laC7z{(I)Nuh({`SD-{Wx|5=h>}P#xCR>I;RA +z0%vjMmxI}>FE4f$I14Y;bOtjr+*gYW3mne#SKZx=6rQ<Z#4*;v8E7-^qeh&gA&iOo +z!otd?4(2R#YxSjqN(AZfZ!7!drP|gmUGHeDaGY;ZG{0(R@l|(6x8C7)opn|dHLVwu +z-z%&e_7c%Yz8OMWcNCv@`_h}P7Sy0Wzb;2LRKKzCg6f;x&ayV<aZ^XRqlsCn!KjxE +z{fM=hSTl$<o=94YqYm@}OIw}GRnx+j)=^vre}0QEbs3zd>Z{fDor>dfw84+x8mHUf +zwAQ*@wQj|6JJtLW#?^bQ0IyL?KDl`Dg9Wh6lQ-|8OiO`Von}|1z``iXD=~T(rHm{6 +zNGfR`t+6;47Uk*Hs@LS~Kwll+HScxOP8IoT)QR#og;6Ng%&4<i_0lsq=hMtaF3w?b +zw(5FgzSRz|+%jG7=B<QQu~b&*dgpmxM!wUn>-E1O&8y8xRM&AR**ur7cX3TTr<M_o +zUQH`0%xdnurJUTFT$>%{BI@A)?P_s5*>sX-Io_h{CDaDyj~aEo5`L8XOxIhS3N2n~ +zsA}_{rN8TN{K6|;{y;?YFLm9W3x7&d$x0U`Ii^<cE;48*Itgvi+=aSci++@=*7f2R +zbsonmM0$J-_mI`Q#L^qhHRWWZza6Glz4bRlGZpB19s6c7irgFrb49h@oo`^BAg@ee +z&GulOCRQ@BrVz_iQLA?b5UEnv3)Hwa>Oh|&Rz7vDQCOyrTJ<I+Q?GXv5+}T8mC84X +zbcIMZ=^jM63oW`^$(883Q(-l!1{6itt1A@}%~-AaS2-JRB+X*-V2xuW+K6;g;aqI$ +z!J%CZoR;6|dZD3HF8A=Np%am66cRT}A?>vqmX}$?2_;Sham<x8<8i}IY#6KS;IJ|S +ziH(X{1F6`pw<@F-y|su);U1)DB8@il^n2)V3kIsyP>V9dqQ|@Rrt`**IXcwNdUlNd +zt5)rzDGLo6=Wtc3yVg<O<CKrBW&1I8T1_}&FH{;jI(0qY@PZn;RlR{($?@d|ja$)D +ztZ0@_Lb>zkYnEL4pR<h_r%Q%;P-BTYo>}xhd7U}3hPqm+FX(z}f%0Kmn!c%gxYN<5 +z>lc*|t59&ZC|Wt$O?iDu%d6$qln`knPh_R*9F@VtSkCPOvvZ!f6>bsL?7X02D4*Wn +z!5Cr|sFOm*Xtf;oQCYm4?FuPlBwHNRwY5-5t2lHQbb@-H7PFech~sJM90?YAoLQhi +zItS{^1vShCrq(iNuBPIj5v_7VhqF%QU6&LoZkMYlk6cr(v$D;Y?L4a&t<~9L$TpP} +zP-C9kB~3=(?QpAkuSuXy&D)0&AF58d8zwOy0#C3)u1xDJDp5PtCau&-t9R5JInm{4 +z;#hK9JB)9~*^36f)mcGlXl-p>2HizVaE=BU#?znqMEcNz*O)0yIU*xz7pGbsy|tjS +zQ~5}Dec{;-Pv$<~q$0Sj+))=m#ByeK?u=IL{H*7eKFpt5GXrEQw7EP7d3N`p`E^}& +zI4i2_>T9kR7nHaM=&&`i;i_q@bCo%np-J)Us3<6`q)c^XQ9*edSICpPpJ9J$ID*zR +zH&f;HV8xIxjm!w%9ko}>KdW@Pd0Kckxhl&lTy>qywcf4OmE~oX)ve3`N5#haj(f;h +zF~#d$)9HQb^dc>{vKwoueb;JDRsP1=z%xHwLU@AjV^vcqt*mNFC7jiR!KGA+zw(>P +zl^l0#u}Rg_y_{97qa0GN>ZtClAXZ=Ba-LxI<&;`geRXGtf<DwcX2<}=sf!}#_JLuz +z%fk_+Pl~Gbwy$n5YP~NKgD`~Lo{<Ls0aY#DBbHewyIC!oZXcay3b{jqw}@4&IG3ob +z;5+9uW>Kd5bY$Q?-<Pq<3#@H-h*j0D!E=w^RJCjKtFr@H4;iy*>IO5wr~-FM0HeWd +z9=q|}H<(Ddrq$uv{ol&bN;XNN-8P6-Rn(U7n4D`E!`N!8VTjmA7&Vthn?W;8*r!f6 +zZU3VhYgkxpqvw3u)EP$Ejz-r-=W)xo($Z%DHM9J5<zdE&>9rLPvtouV$!^arC@iV0 +zu5WT1zG>}ne_2;uSyEV#OYeA{_ntngk~Hx)1Cw>o04vu$Pvw~7CkhH2FgvvZIWBnv +z?ef}iPfh!%$P+)YOZpxCk?cp^(KpG<W9;(4{hrF2Bc_hFOUm%?`X<>hikLFEhh_m~ +ztdjJgT@K0p!#%bB6k5Ri^kIxtx0?YYJXFzs#zf;gc}3E$LwnLqDYD<kAusr*z<bB8 +zgNL@Rdh+g(T$Q>}c;RW*iaf)^CVOrm>`!AqVv^@3^pvpbW5s+&-y*je4c&6rL_@|0 +zlsQeAstKMO7yB`+T+WGU9OqHDFe{!k-it{6N~S;JxzSN>H#4UB*2gc6)bJ2<h`Q<d +zD%l{pscM?WJiC3Jd6aPz?5pUJ%)I%`%#Z)rb6X@$lcSuyh86dI(H=1FoHiwEG2R6$ +zm}UKXsD6rSlMi{`m5@3(+;i)t9u~=9mZ&7v+C%kMmYE{zO|ON>N#Vw=x*w^~EOV}? +z`s^&vog;GpNY9=BS=xNW@?%wJ?R$O_ZqWK;r}3^3fE~t5MIh3Q*N`Bj7_Te?u+{TI +zBwDi38i*~z{|rJfHW@Eo!ARu#)VrE`4NNfJ?S^2T@jf^dYm8UO5X2cTnS4{#Vnw}* +z-h-Z3*4}s5`>>EG>Ls@Kbv6tOjMv)U*V_?zUes%DIA)7_-|c<#<twn(^9szDVQq?x +wA@94_V)cG3+BniCF!%phCa^V`EuNoDjq0U&Do6FaK0m2mbu}=?pJWRCZ}IWH!~g&Q + +-- +2.39.5 + diff --git a/config/module/u-boot/default/patches/0008-u-boot-fix-build-error-on-newer-hostcc.patch b/config/module/u-boot/default/patches/0008-u-boot-fix-build-error-on-newer-hostcc.patch new file mode 100644 index 00000000..8ddf398c --- /dev/null +++ b/config/module/u-boot/default/patches/0008-u-boot-fix-build-error-on-newer-hostcc.patch @@ -0,0 +1,50 @@ +From d28edbe090d1d239530618a9142c5fee2705855f Mon Sep 17 00:00:00 2001 +From: Leah Rowe <leah@libreboot.org> +Date: Wed, 1 Apr 2026 07:39:07 +0100 +Subject: [PATCH 1/1] u-boot: fix build error on newer hostcc + +because... they changed a flag. + +because they're gnu. this fixes building +u-boot x86 on arch linux. + +Signed-off-by: Leah Rowe <leah@libreboot.org> +--- + arch/sandbox/config.mk | 4 ++-- + arch/x86/config.mk | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/arch/sandbox/config.mk b/arch/sandbox/config.mk +index dd9b7473fa9..d64dde93575 100644 +--- a/arch/sandbox/config.mk ++++ b/arch/sandbox/config.mk +@@ -50,10 +50,10 @@ cmd_u-boot-spl = (cd $(obj) && \ + + ifeq ($(HOST_ARCH),$(HOST_ARCH_X86_64)) + EFI_LDS := ${SRCDIR}/../../../arch/x86/lib/elf_x86_64_efi.lds +-EFI_TARGET := --target=efi-app-x86_64 ++EFI_TARGET := --output-target=efi-app-x86_64 + else ifeq ($(HOST_ARCH),$(HOST_ARCH_X86)) + EFI_LDS := ${SRCDIR}/../../../arch/x86/lib/elf_ia32_efi.lds +-EFI_TARGET := --target=efi-app-ia32 ++EFI_TARGET := --output-target=efi-app-ia32 + else ifeq ($(HOST_ARCH),$(HOST_ARCH_AARCH64)) + EFI_LDS := ${SRCDIR}/../../../arch/arm/lib/elf_aarch64_efi.lds + OBJCOPYFLAGS += -j .text -j .secure_text -j .secure_data -j .rodata -j .data \ +diff --git a/arch/x86/config.mk b/arch/x86/config.mk +index 6d4839dfb38..878fd126243 100644 +--- a/arch/x86/config.mk ++++ b/arch/x86/config.mk +@@ -127,7 +127,7 @@ endif + endif + + ifdef CONFIG_X86_64 +-EFI_TARGET := --target=efi-app-x86_64 ++EFI_TARGET := --output-target=efi-app-x86_64 + else +-EFI_TARGET := --target=efi-app-ia32 ++EFI_TARGET := --output-target=efi-app-ia32 + endif +-- +2.47.3 + diff --git a/config/module/u-boot/default/patches/0009-absolutely-disable-Werror-at-all-times.patch b/config/module/u-boot/default/patches/0009-absolutely-disable-Werror-at-all-times.patch new file mode 100644 index 00000000..d35eb950 --- /dev/null +++ b/config/module/u-boot/default/patches/0009-absolutely-disable-Werror-at-all-times.patch @@ -0,0 +1,814 @@ +From cf07887c133c36ac0bd130a188a521790b6475e8 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <leah@libreboot.org> +Date: Mon, 21 Sep 2026 12:37:46 +0100 +Subject: [PATCH 1/1] absolutely disable -Werror at all times + +Signed-off-by: Leah Rowe <leah@libreboot.org> +--- + Makefile | 3 - + lib/lwip/lwip/contrib/ports/CMakeCommon.cmake | 1 - + .../lwip/contrib/ports/Common.allports.mk | 2 +- + lib/mbedtls/external/mbedtls/CMakeLists.txt | 2 +- + .../external/mbedtls/programs/Makefile | 2 +- + lib/mbedtls/external/mbedtls/tests/Makefile | 2 +- + .../external/mbedtls/tests/scripts/all.sh | 140 +++++++++--------- + .../external/mbedtls/tests/scripts/depends.py | 2 +- + .../mbedtls/tests/scripts/test-ref-configs.pl | 4 +- + scripts/Kbuild.include | 6 +- + scripts/Kconfig.include | 2 +- + scripts/gcc-stack-usage.sh | 2 +- + scripts/kernel-doc | 4 - + tools/buildman/builderthread.py | 3 - + 14 files changed, 82 insertions(+), 93 deletions(-) + +diff --git a/Makefile b/Makefile +index 30deb760bf8..5fa05fa465c 100644 +--- a/Makefile ++++ b/Makefile +@@ -809,9 +809,6 @@ endif + # Use make W=1 to enable them (see scripts/Makefile.extrawarn) + KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable) + +-# Prohibit date/time macros, which would make the build non-deterministic +-KBUILD_CFLAGS += $(call cc-option,-Werror=date-time) +- + include scripts/Makefile.extrawarn + + # Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments +diff --git a/lib/lwip/lwip/contrib/ports/CMakeCommon.cmake b/lib/lwip/lwip/contrib/ports/CMakeCommon.cmake +index a56b59cb8a4..d03a5b3033d 100644 +--- a/lib/lwip/lwip/contrib/ports/CMakeCommon.cmake ++++ b/lib/lwip/lwip/contrib/ports/CMakeCommon.cmake +@@ -44,7 +44,6 @@ set(LWIP_COMPILER_FLAGS_GNU_CLANG + $<$<CONFIG:Release>:-O3> + -Wall + -pedantic +- -Werror + -Wparentheses + -Wsequence-point + -Wswitch-default +diff --git a/lib/lwip/lwip/contrib/ports/Common.allports.mk b/lib/lwip/lwip/contrib/ports/Common.allports.mk +index 049ba6afb1e..df63358ef20 100644 +--- a/lib/lwip/lwip/contrib/ports/Common.allports.mk ++++ b/lib/lwip/lwip/contrib/ports/Common.allports.mk +@@ -33,7 +33,7 @@ + #CC=clang + CCDEP?=$(CC) + +-CFLAGS+=-g -DLWIP_DEBUG -Wall -pedantic -Werror \ ++CFLAGS+=-g -DLWIP_DEBUG -Wall -pedantic \ + -Wparentheses -Wsequence-point -Wswitch-default \ + -Wextra -Wundef -Wshadow -Wpointer-arith -Wcast-qual \ + -Wc++-compat -Wwrite-strings -Wold-style-definition -Wcast-align \ +diff --git a/lib/mbedtls/external/mbedtls/CMakeLists.txt b/lib/mbedtls/external/mbedtls/CMakeLists.txt +index 2eba16da5d8..3ce60030a79 100644 +--- a/lib/mbedtls/external/mbedtls/CMakeLists.txt ++++ b/lib/mbedtls/external/mbedtls/CMakeLists.txt +@@ -260,7 +260,7 @@ if(MBEDTLS_FATAL_WARNINGS) + endif(CMAKE_COMPILER_IS_MSVC) + + if(CMAKE_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNU) +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ") + if(UNSAFE_BUILD) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error=cpp") + set(CMAKE_C_FLAGS_ASAN "${CMAKE_C_FLAGS_ASAN} -Wno-error=cpp") +diff --git a/lib/mbedtls/external/mbedtls/programs/Makefile b/lib/mbedtls/external/mbedtls/programs/Makefile +index 8d1da6dbe71..2db47f534c0 100644 +--- a/lib/mbedtls/external/mbedtls/programs/Makefile ++++ b/lib/mbedtls/external/mbedtls/programs/Makefile +@@ -8,7 +8,7 @@ DLOPEN_LDFLAGS ?= + endif + + ifdef RECORD_PSA_STATUS_COVERAGE_LOG +-LOCAL_CFLAGS += -Werror -DRECORD_PSA_STATUS_COVERAGE_LOG ++LOCAL_CFLAGS += -DRECORD_PSA_STATUS_COVERAGE_LOG + endif + DEP=${MBEDLIBS} ${MBEDTLS_TEST_OBJS} + +diff --git a/lib/mbedtls/external/mbedtls/tests/Makefile b/lib/mbedtls/external/mbedtls/tests/Makefile +index c2a0b84f074..da3c4b1aee7 100644 +--- a/lib/mbedtls/external/mbedtls/tests/Makefile ++++ b/lib/mbedtls/external/mbedtls/tests/Makefile +@@ -13,7 +13,7 @@ LOCAL_CFLAGS += -I../library + LOCAL_CFLAGS += -D_POSIX_C_SOURCE=200809L + + ifdef RECORD_PSA_STATUS_COVERAGE_LOG +-LOCAL_CFLAGS += -Werror -DRECORD_PSA_STATUS_COVERAGE_LOG ++LOCAL_CFLAGS += -DRECORD_PSA_STATUS_COVERAGE_LOG + endif + + .PHONY: generated_files +diff --git a/lib/mbedtls/external/mbedtls/tests/scripts/all.sh b/lib/mbedtls/external/mbedtls/tests/scripts/all.sh +index a1203f77268..569967f0802 100755 +--- a/lib/mbedtls/external/mbedtls/tests/scripts/all.sh ++++ b/lib/mbedtls/external/mbedtls/tests/scripts/all.sh +@@ -200,7 +200,7 @@ pre_initialize_variables () { + + # CFLAGS and LDFLAGS for Asan builds that don't use CMake + # default to -O2, use -Ox _after_ this if you want another level +- ASAN_CFLAGS='-O2 -Werror -fsanitize=address,undefined -fno-sanitize-recover=all' ++ ASAN_CFLAGS='-O2 -fsanitize=address,undefined -fno-sanitize-recover=all' + # Normally, tests should use this compiler for ASAN testing + ASAN_CC=clang + +@@ -413,7 +413,7 @@ armc6_build_test() + msg "build: ARM Compiler 6 ($FLAGS)" + make clean + ARM_TOOL_VARIANT="ult" CC="$ARMC6_CC" AR="$ARMC6_AR" CFLAGS="$FLAGS" \ +- WARNING_CFLAGS='-Werror -xc -std=c99' make lib ++ WARNING_CFLAGS=' -xc -std=c99' make lib + + msg "size: ARM Compiler 6 ($FLAGS)" + "$ARMC6_FROMELF" -z library/*.o +@@ -1288,7 +1288,7 @@ component_build_psa_crypto_spm () { + # We can only compile, not link, since our test and sample programs + # aren't equipped for the modified names used when MBEDTLS_PSA_CRYPTO_SPM + # is active. +- make CC=gcc CFLAGS='-Werror -Wall -Wextra -I../tests/include/spe' lib ++ make CC=gcc CFLAGS=' -Wall -Wextra -I../tests/include/spe' lib + + # Check that if a symbol is renamed by crypto_spe.h, the non-renamed + # version is not present. +@@ -2307,7 +2307,7 @@ component_test_default_no_deprecated () { + # configuration leaves something consistent. + msg "build: make, default + MBEDTLS_DEPRECATED_REMOVED" # ~ 30s + scripts/config.py set MBEDTLS_DEPRECATED_REMOVED +- make CFLAGS='-O -Werror -Wall -Wextra' ++ make CFLAGS='-O -Wall -Wextra' + + msg "test: make, default + MBEDTLS_DEPRECATED_REMOVED" # ~ 5s + make test +@@ -2316,7 +2316,7 @@ component_test_default_no_deprecated () { + component_test_full_no_deprecated () { + msg "build: make, full_no_deprecated config" # ~ 30s + scripts/config.py full_no_deprecated +- make CFLAGS='-O -Werror -Wall -Wextra' ++ make CFLAGS='-O -Wall -Wextra' + + msg "test: make, full_no_deprecated config" # ~ 5s + make test +@@ -2333,7 +2333,7 @@ component_test_full_no_deprecated_deprecated_warning () { + scripts/config.py full_no_deprecated + scripts/config.py unset MBEDTLS_DEPRECATED_REMOVED + scripts/config.py set MBEDTLS_DEPRECATED_WARNING +- make CFLAGS='-O -Werror -Wall -Wextra' ++ make CFLAGS='-O -Wall -Wextra' + + msg "test: make, full_no_deprecated config, MBEDTLS_DEPRECATED_WARNING" # ~ 5s + make test +@@ -2348,14 +2348,14 @@ component_test_full_deprecated_warning () { + # Expect warnings from '#warning' directives in check_config.h. + # Note that gcc is required to allow the use of -Wno-error=cpp, which allows us to + # display #warning messages without them being treated as errors. +- make CC=gcc CFLAGS='-O -Werror -Wall -Wextra -Wno-error=cpp' lib programs ++ make CC=gcc CFLAGS='-O -Wall -Wextra -Wno-error=cpp' lib programs + + msg "build: make tests, full config + MBEDTLS_DEPRECATED_WARNING, expect warnings" # ~ 30s + # Set MBEDTLS_TEST_DEPRECATED to enable tests for deprecated features. + # By default those are disabled when MBEDTLS_DEPRECATED_WARNING is set. + # Expect warnings from '#warning' directives in check_config.h and + # from the use of deprecated functions in test suites. +- make CC=gcc CFLAGS='-O -Werror -Wall -Wextra -Wno-error=deprecated-declarations -Wno-error=cpp -DMBEDTLS_TEST_DEPRECATED' tests ++ make CC=gcc CFLAGS='-O -Wall -Wextra -Wno-error=deprecated-declarations -Wno-error=cpp -DMBEDTLS_TEST_DEPRECATED' tests + + msg "test: full config + MBEDTLS_TEST_DEPRECATED" # ~ 30s + make test +@@ -2373,14 +2373,14 @@ are_empty_libraries () { + component_build_crypto_default () { + msg "build: make, crypto only" + scripts/config.py crypto +- make CFLAGS='-O1 -Werror' ++ make CFLAGS='-O1 ' + are_empty_libraries library/libmbedx509.* library/libmbedtls.* + } + + component_build_crypto_full () { + msg "build: make, crypto only, full config" + scripts/config.py crypto_full +- make CFLAGS='-O1 -Werror' ++ make CFLAGS='-O1 ' + are_empty_libraries library/libmbedx509.* library/libmbedtls.* + } + +@@ -2411,14 +2411,14 @@ component_test_crypto_for_psa_service () { + scripts/config.py unset MBEDTLS_PK_C + scripts/config.py unset MBEDTLS_PK_PARSE_C + scripts/config.py unset MBEDTLS_PK_WRITE_C +- make CFLAGS='-O1 -Werror' all test ++ make CFLAGS='-O1 ' all test + are_empty_libraries library/libmbedx509.* library/libmbedtls.* + } + + component_build_crypto_baremetal () { + msg "build: make, crypto only, baremetal config" + scripts/config.py crypto_baremetal +- make CFLAGS="-O1 -Werror -I$PWD/tests/include/baremetal-override/" ++ make CFLAGS="-O1 -I$PWD/tests/include/baremetal-override/" + are_empty_libraries library/libmbedx509.* library/libmbedtls.* + } + support_build_crypto_baremetal () { +@@ -2428,7 +2428,7 @@ support_build_crypto_baremetal () { + component_build_baremetal () { + msg "build: make, baremetal config" + scripts/config.py baremetal +- make CFLAGS="-O1 -Werror -I$PWD/tests/include/baremetal-override/" ++ make CFLAGS="-O1 -I$PWD/tests/include/baremetal-override/" + } + support_build_baremetal () { + # Older Glibc versions include time.h from other headers such as stdlib.h, +@@ -2520,7 +2520,7 @@ component_test_psa_crypto_config_ffdh_2048_only () { + scripts/config.py -f "$CRYPTO_CONFIG_H" unset PSA_WANT_DH_RFC7919_6144 + scripts/config.py -f "$CRYPTO_CONFIG_H" unset PSA_WANT_DH_RFC7919_8192 + +- make CFLAGS="$ASAN_CFLAGS -Werror" LDFLAGS="$ASAN_CFLAGS" ++ make CFLAGS="$ASAN_CFLAGS " LDFLAGS="$ASAN_CFLAGS" + + msg "test: full config - only DH 2048" + make test +@@ -2538,7 +2538,7 @@ component_build_no_pk_rsa_alt_support () { + scripts/config.py set MBEDTLS_X509_CRT_WRITE_C + + # Only compile - this is primarily to test for compile issues +- make CFLAGS='-Werror -Wall -Wextra -I../tests/include/alt-dummy' ++ make CFLAGS=' -Wall -Wextra -I../tests/include/alt-dummy' + } + + component_build_module_alt () { +@@ -2571,7 +2571,7 @@ component_build_module_alt () { + + # We can only compile, not link, since we don't have any implementations + # suitable for testing with the dummy alt headers. +- make CFLAGS='-Werror -Wall -Wextra -I../tests/include/alt-dummy' lib ++ make CFLAGS=' -Wall -Wextra -I../tests/include/alt-dummy' lib + } + + component_build_dhm_alt () { +@@ -2582,7 +2582,7 @@ component_build_dhm_alt () { + scripts/config.py unset MBEDTLS_DEBUG_C + # We can only compile, not link, since we don't have any implementations + # suitable for testing with the dummy alt headers. +- make CFLAGS='-Werror -Wall -Wextra -I../tests/include/alt-dummy' lib ++ make CFLAGS=' -Wall -Wextra -I../tests/include/alt-dummy' lib + } + + component_test_no_psa_crypto_full_cmake_asan() { +@@ -3449,7 +3449,7 @@ component_test_tfm_config() { + echo "#undef MBEDTLS_PSA_P256M_DRIVER_ENABLED" >> "$CONFIG_H" + + msg "build: TF-M config" +- make CFLAGS='-Werror -Wall -Wextra -I../tests/include/spe' tests ++ make CFLAGS=' -Wall -Wextra -I../tests/include/spe' tests + + # Check that p256m was not built + not grep p256_ecdsa_ library/libmbedcrypto.a +@@ -4431,7 +4431,7 @@ component_build_tfm_armcc() { + cp configs/config-tfm.h "$CONFIG_H" + + msg "build: TF-M config, armclang armv7-m thumb2" +- armc6_build_test "--target=arm-arm-none-eabi -march=armv7-m -mthumb -Os -std=c99 -Werror -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral -Wshadow -Wasm-operand-widths -Wunused -I../tests/include/spe" ++ armc6_build_test "--target=arm-arm-none-eabi -march=armv7-m -mthumb -Os -std=c99 -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral -Wshadow -Wasm-operand-widths -Wunused -I../tests/include/spe" + } + + component_build_tfm() { +@@ -4443,11 +4443,11 @@ component_build_tfm() { + cp configs/config-tfm.h "$CONFIG_H" + + msg "build: TF-M config, clang, armv7-m thumb2" +- make lib CC="clang" CFLAGS="--target=arm-linux-gnueabihf -march=armv7-m -mthumb -Os -std=c99 -Werror -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral -Wshadow -Wasm-operand-widths -Wunused -I../tests/include/spe" ++ make lib CC="clang" CFLAGS="--target=arm-linux-gnueabihf -march=armv7-m -mthumb -Os -std=c99 -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral -Wshadow -Wasm-operand-widths -Wunused -I../tests/include/spe" + + msg "build: TF-M config, gcc native build" + make clean +- make lib CC="gcc" CFLAGS="-Os -std=c99 -Werror -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral -Wshadow -Wformat-signedness -Wlogical-op -I../tests/include/spe" ++ make lib CC="gcc" CFLAGS="-Os -std=c99 -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral -Wshadow -Wformat-signedness -Wlogical-op -I../tests/include/spe" + } + + # Test that the given .o file builds with all (valid) combinations of the given options. +@@ -4475,7 +4475,7 @@ build_test_config_combos() { + file=$(basename ${file}) + + # The most common issue is unused variables/functions, so ensure -Wunused is set. +- warning_flags="-Werror -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral -Wshadow -Wasm-operand-widths -Wunused" ++ warning_flags=" -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral -Wshadow -Wasm-operand-widths -Wunused" + + # Extract the command generated by the Makefile to build the target file. + # This ensures that we have any include paths, macro definitions, etc +@@ -4586,8 +4586,8 @@ component_test_no_platform () { + scripts/config.py unset MBEDTLS_ENTROPY_NV_SEED + # Note, _DEFAULT_SOURCE needs to be defined for platforms using glibc version >2.19, + # to re-enable platform integration features otherwise disabled in C99 builds +- make CC=gcc CFLAGS='-Werror -Wall -Wextra -std=c99 -pedantic -Os -D_DEFAULT_SOURCE' lib programs +- make CC=gcc CFLAGS='-Werror -Wall -Wextra -Os' test ++ make CC=gcc CFLAGS=' -Wall -Wextra -std=c99 -pedantic -Os -D_DEFAULT_SOURCE' lib programs ++ make CC=gcc CFLAGS=' -Wall -Wextra -Os' test + } + + component_build_no_std_function () { +@@ -4605,14 +4605,14 @@ component_build_no_ssl_srv () { + msg "build: full config except SSL server, make, gcc" # ~ 30s + scripts/config.py full + scripts/config.py unset MBEDTLS_SSL_SRV_C +- make CC=gcc CFLAGS='-Werror -Wall -Wextra -O1' ++ make CC=gcc CFLAGS=' -Wall -Wextra -O1' + } + + component_build_no_ssl_cli () { + msg "build: full config except SSL client, make, gcc" # ~ 30s + scripts/config.py full + scripts/config.py unset MBEDTLS_SSL_CLI_C +- make CC=gcc CFLAGS='-Werror -Wall -Wextra -O1' ++ make CC=gcc CFLAGS=' -Wall -Wextra -O1' + } + + component_build_no_sockets () { +@@ -4622,7 +4622,7 @@ component_build_no_sockets () { + scripts/config.py full + scripts/config.py unset MBEDTLS_NET_C # getaddrinfo() undeclared, etc. + scripts/config.py set MBEDTLS_NO_PLATFORM_ENTROPY # uses syscall() on GNU/Linux +- make CC=gcc CFLAGS='-Werror -Wall -Wextra -O1 -std=c99 -pedantic' lib ++ make CC=gcc CFLAGS=' -Wall -Wextra -O1 -std=c99 -pedantic' lib + } + + component_test_memory_buffer_allocator_backtrace () { +@@ -4838,14 +4838,14 @@ component_test_aesni () { # ~ 60s + # test the intrinsics implementation + msg "AES tests, test intrinsics" + make clean +- make CC=gcc CFLAGS='-Werror -Wall -Wextra -mpclmul -msse2 -maes' ++ make CC=gcc CFLAGS=' -Wall -Wextra -mpclmul -msse2 -maes' + # check that we built intrinsics - this should be used by default when supported by the compiler + ./programs/test/selftest aes | grep "AESNI code" | grep -q "intrinsics" + + # test the asm implementation + msg "AES tests, test assembly" + make clean +- make CC=gcc CFLAGS='-Werror -Wall -Wextra -mno-pclmul -mno-sse2 -mno-aes' ++ make CC=gcc CFLAGS=' -Wall -Wextra -mno-pclmul -mno-sse2 -mno-aes' + # check that we built assembly - this should be built if the compiler does not support intrinsics + ./programs/test/selftest aes | grep "AESNI code" | grep -q "assembly" + +@@ -4854,7 +4854,7 @@ component_test_aesni () { # ~ 60s + scripts/config.py unset MBEDTLS_AES_USE_HARDWARE_ONLY + msg "AES tests, plain C" + make clean +- make CC=gcc CFLAGS='-O2 -Werror' ++ make CC=gcc CFLAGS='-O2 ' + # check that there is no AESNI code present + ./programs/test/selftest aes | not grep -q "AESNI code" + not grep -q "AES note: using AESNI" ./programs/test/selftest +@@ -4865,7 +4865,7 @@ component_test_aesni () { # ~ 60s + scripts/config.py set MBEDTLS_AES_USE_HARDWARE_ONLY + msg "AES tests, test AESNI only" + make clean +- make CC=gcc CFLAGS='-Werror -Wall -Wextra -mpclmul -msse2 -maes' ++ make CC=gcc CFLAGS=' -Wall -Wextra -mpclmul -msse2 -maes' + ./programs/test/selftest aes | grep -q "AES note: using AESNI" + ./programs/test/selftest aes | not grep -q "AES note: built-in implementation." + grep -q "AES note: using AESNI" ./programs/test/selftest +@@ -4910,7 +4910,7 @@ component_test_aesni_m32 () { # ~ 60s + # test the intrinsics implementation with gcc + msg "AES tests, test intrinsics (gcc)" + make clean +- make CC=gcc CFLAGS='-m32 -Werror -Wall -Wextra' LDFLAGS='-m32' ++ make CC=gcc CFLAGS='-m32 -Wall -Wextra' LDFLAGS='-m32' + # check that we built intrinsics - this should be used by default when supported by the compiler + ./programs/test/selftest aes | grep "AESNI code" | grep -q "intrinsics" + grep -q "AES note: using AESNI" ./programs/test/selftest +@@ -4923,7 +4923,7 @@ component_test_aesni_m32 () { # ~ 60s + scripts/config.py set MBEDTLS_AES_USE_HARDWARE_ONLY + msg "AES tests, test AESNI only" + make clean +- make CC=gcc CFLAGS='-m32 -Werror -Wall -Wextra -mpclmul -msse2 -maes' LDFLAGS='-m32' ++ make CC=gcc CFLAGS='-m32 -Wall -Wextra -mpclmul -msse2 -maes' LDFLAGS='-m32' + ./programs/test/selftest aes | grep -q "AES note: using AESNI" + ./programs/test/selftest aes | not grep -q "AES note: built-in implementation." + grep -q "AES note: using AESNI" ./programs/test/selftest +@@ -4947,7 +4947,7 @@ component_test_aesni_m32_clang() { + # test the intrinsics implementation with clang + msg "AES tests, test intrinsics (clang)" + make clean +- make CC=clang CFLAGS='-m32 -Werror -Wall -Wextra' LDFLAGS='-m32' ++ make CC=clang CFLAGS='-m32 -Wall -Wextra' LDFLAGS='-m32' + # check that we built intrinsics - this should be used by default when supported by the compiler + ./programs/test/selftest aes | grep "AESNI code" | grep -q "intrinsics" + grep -q "AES note: using AESNI" ./programs/test/selftest +@@ -4968,7 +4968,7 @@ component_build_aes_aesce_armcc () { + # With this enabled, the library does build correctly under armclang, + # but in baremetal builds (as tested here), feature detection is + # unavailable, and the user is notified via a #warning. So enabling +- # this feature would prevent us from building with -Werror on ++ # this feature would prevent us from building with on + # armclang. Tracked in #7198. + scripts/config.py unset MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT + scripts/config.py set MBEDTLS_HAVE_ASM +@@ -5138,7 +5138,7 @@ component_test_aes_only_128_bit_keys () { + scripts/config.py set MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH + scripts/config.py unset MBEDTLS_PADLOCK_C + +- make CFLAGS='-O2 -Werror -Wall -Wextra' ++ make CFLAGS='-O2 -Wall -Wextra' + + msg "test: default config + AES_ONLY_128_BIT_KEY_LENGTH" + make test +@@ -5150,7 +5150,7 @@ component_test_no_ctr_drbg_aes_only_128_bit_keys () { + scripts/config.py unset MBEDTLS_CTR_DRBG_C + scripts/config.py unset MBEDTLS_PADLOCK_C + +- make CC=clang CFLAGS='-Werror -Wall -Wextra' ++ make CC=clang CFLAGS=' -Wall -Wextra' + + msg "test: default config + AES_ONLY_128_BIT_KEY_LENGTH - CTR_DRBG_C" + make test +@@ -5163,7 +5163,7 @@ component_test_aes_only_128_bit_keys_have_builtins () { + scripts/config.py unset MBEDTLS_AESNI_C + scripts/config.py unset MBEDTLS_AESCE_C + +- make CFLAGS='-O2 -Werror -Wall -Wextra' ++ make CFLAGS='-O2 -Wall -Wextra' + + msg "test: default config + AES_ONLY_128_BIT_KEY_LENGTH - AESNI_C - AESCE_C" + make test +@@ -5179,7 +5179,7 @@ component_test_gcm_largetable () { + scripts/config.py unset MBEDTLS_AESNI_C + scripts/config.py unset MBEDTLS_AESCE_C + +- make CFLAGS='-O2 -Werror -Wall -Wextra' ++ make CFLAGS='-O2 -Wall -Wextra' + + msg "test: default config - GCM_LARGE_TABLE - AESNI_C - AESCE_C" + make test +@@ -5188,7 +5188,7 @@ component_test_gcm_largetable () { + component_test_aes_fewer_tables () { + msg "build: default config with AES_FEWER_TABLES enabled" + scripts/config.py set MBEDTLS_AES_FEWER_TABLES +- make CFLAGS='-O2 -Werror -Wall -Wextra' ++ make CFLAGS='-O2 -Wall -Wextra' + + msg "test: AES_FEWER_TABLES" + make test +@@ -5197,7 +5197,7 @@ component_test_aes_fewer_tables () { + component_test_aes_rom_tables () { + msg "build: default config with AES_ROM_TABLES enabled" + scripts/config.py set MBEDTLS_AES_ROM_TABLES +- make CFLAGS='-O2 -Werror -Wall -Wextra' ++ make CFLAGS='-O2 -Wall -Wextra' + + msg "test: AES_ROM_TABLES" + make test +@@ -5207,7 +5207,7 @@ component_test_aes_fewer_tables_and_rom_tables () { + msg "build: default config with AES_ROM_TABLES and AES_FEWER_TABLES enabled" + scripts/config.py set MBEDTLS_AES_FEWER_TABLES + scripts/config.py set MBEDTLS_AES_ROM_TABLES +- make CFLAGS='-O2 -Werror -Wall -Wextra' ++ make CFLAGS='-O2 -Wall -Wextra' + + msg "test: AES_FEWER_TABLES + AES_ROM_TABLES" + make test +@@ -5233,7 +5233,7 @@ helper_block_cipher_no_decrypt_build_test () { + -u) + shift; local unset_opts="$1";; + -c) +- shift; local cflags="-Werror -Wall -Wextra $1";; ++ shift; local cflags=" -Wall -Wextra $1";; + -l) + shift; local ldflags="$1";; + esac +@@ -5346,7 +5346,7 @@ component_test_block_cipher_no_decrypt_aesce_armcc () { + # With this enabled, the library does build correctly under armclang, + # but in baremetal builds (as tested here), feature detection is + # unavailable, and the user is notified via a #warning. So enabling +- # this feature would prevent us from building with -Werror on ++ # this feature would prevent us from building with on + # armclang. Tracked in #7198. + scripts/config.py unset MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT + scripts/config.py set MBEDTLS_HAVE_ASM +@@ -5356,7 +5356,7 @@ component_test_block_cipher_no_decrypt_aesce_armcc () { + # test AESCE baremetal build + scripts/config.py set MBEDTLS_AESCE_C + msg "build: default config + BLOCK_CIPHER_NO_DECRYPT with AESCE" +- armc6_build_test "-O1 --target=aarch64-arm-none-eabi -march=armv8-a+crypto -Werror -Wall -Wextra" ++ armc6_build_test "-O1 --target=aarch64-arm-none-eabi -march=armv8-a+crypto -Wall -Wextra" + + # Make sure we don't have mbedtls_xxx_setkey_dec in AES/ARIA/CAMELLIA + not grep mbedtls_aes_setkey_dec library/aes.o +@@ -5450,7 +5450,7 @@ test_build_opt () { + $cc --version + for opt in "$@"; do + msg "build/test: $cc $opt, $info" # ~ 30s +- make CC="$cc" CFLAGS="$opt -std=c99 -pedantic -Wall -Wextra -Werror" ++ make CC="$cc" CFLAGS="$opt -std=c99 -pedantic -Wall -Wextra " + # We're confident enough in compilers to not run _all_ the tests, + # but at least run the unit tests. In particular, runs with + # optimizations use inline assembly whereas runs with -O0 +@@ -5626,7 +5626,7 @@ support_test_m32_everest () { + component_test_mx32 () { + msg "build: 64-bit ILP32, make, gcc" # ~ 30s + scripts/config.py full +- make CC=gcc CFLAGS='-O2 -Werror -Wall -Wextra -mx32' LDFLAGS='-mx32' ++ make CC=gcc CFLAGS='-O2 -Wall -Wextra -mx32' LDFLAGS='-mx32' + + msg "test: 64-bit ILP32, make, gcc" + make test +@@ -5654,7 +5654,7 @@ component_test_have_int32 () { + scripts/config.py unset MBEDTLS_AESNI_C + scripts/config.py unset MBEDTLS_PADLOCK_C + scripts/config.py unset MBEDTLS_AESCE_C +- make CC=gcc CFLAGS='-O2 -Werror -Wall -Wextra -DMBEDTLS_HAVE_INT32' ++ make CC=gcc CFLAGS='-O2 -Wall -Wextra -DMBEDTLS_HAVE_INT32' + + msg "test: gcc, force 32-bit bignum limbs" + make test +@@ -5666,7 +5666,7 @@ component_test_have_int64 () { + scripts/config.py unset MBEDTLS_AESNI_C + scripts/config.py unset MBEDTLS_PADLOCK_C + scripts/config.py unset MBEDTLS_AESCE_C +- make CC=gcc CFLAGS='-O2 -Werror -Wall -Wextra -DMBEDTLS_HAVE_INT64' ++ make CC=gcc CFLAGS='-O2 -Wall -Wextra -DMBEDTLS_HAVE_INT64' + + msg "test: gcc, force 64-bit bignum limbs" + make test +@@ -5680,7 +5680,7 @@ component_test_have_int32_cmake_new_bignum () { + scripts/config.py unset MBEDTLS_AESCE_C + scripts/config.py set MBEDTLS_TEST_HOOKS + scripts/config.py set MBEDTLS_ECP_WITH_MPI_UINT +- make CC=gcc CFLAGS="$ASAN_CFLAGS -Werror -Wall -Wextra -DMBEDTLS_HAVE_INT32" LDFLAGS="$ASAN_CFLAGS" ++ make CC=gcc CFLAGS="$ASAN_CFLAGS -Wall -Wextra -DMBEDTLS_HAVE_INT32" LDFLAGS="$ASAN_CFLAGS" + + msg "test: gcc, force 32-bit bignum limbs, new bignum interface, test hooks (ASan build)" + make test +@@ -5690,7 +5690,7 @@ component_test_no_udbl_division () { + msg "build: MBEDTLS_NO_UDBL_DIVISION native" # ~ 10s + scripts/config.py full + scripts/config.py set MBEDTLS_NO_UDBL_DIVISION +- make CFLAGS='-Werror -O1' ++ make CFLAGS=' -O1' + + msg "test: MBEDTLS_NO_UDBL_DIVISION native" # ~ 10s + make test +@@ -5700,7 +5700,7 @@ component_test_no_64bit_multiplication () { + msg "build: MBEDTLS_NO_64BIT_MULTIPLICATION native" # ~ 10s + scripts/config.py full + scripts/config.py set MBEDTLS_NO_64BIT_MULTIPLICATION +- make CFLAGS='-Werror -O1' ++ make CFLAGS=' -O1' + + msg "test: MBEDTLS_NO_64BIT_MULTIPLICATION native" # ~ 10s + make test +@@ -5714,7 +5714,7 @@ component_test_no_strings () { + scripts/config.py unset MBEDTLS_ERROR_C + scripts/config.py set MBEDTLS_ERROR_STRERROR_DUMMY + scripts/config.py unset MBEDTLS_VERSION_FEATURES +- make CFLAGS='-Werror -Os' ++ make CFLAGS=' -Os' + + msg "test: no strings" # ~ 10s + make test +@@ -5725,7 +5725,7 @@ component_test_no_x509_info () { + scripts/config.pl full + scripts/config.pl unset MBEDTLS_MEMORY_BACKTRACE # too slow for tests + scripts/config.pl set MBEDTLS_X509_REMOVE_INFO +- make CFLAGS='-Werror -O2' ++ make CFLAGS=' -O2' + + msg "test: full + MBEDTLS_X509_REMOVE_INFO" # ~ 10s + make test +@@ -5737,7 +5737,7 @@ component_test_no_x509_info () { + component_build_arm_none_eabi_gcc () { + msg "build: ${ARM_NONE_EABI_GCC_PREFIX}gcc -O1, baremetal+debug" # ~ 10s + scripts/config.py baremetal +- make CC="${ARM_NONE_EABI_GCC_PREFIX}gcc" AR="${ARM_NONE_EABI_GCC_PREFIX}ar" LD="${ARM_NONE_EABI_GCC_PREFIX}ld" CFLAGS='-std=c99 -Werror -Wall -Wextra -O1' lib ++ make CC="${ARM_NONE_EABI_GCC_PREFIX}gcc" AR="${ARM_NONE_EABI_GCC_PREFIX}ar" LD="${ARM_NONE_EABI_GCC_PREFIX}ld" CFLAGS='-std=c99 -Wall -Wextra -O1' lib + + msg "size: ${ARM_NONE_EABI_GCC_PREFIX}gcc -O1, baremetal+debug" + ${ARM_NONE_EABI_GCC_PREFIX}size -t library/*.o +@@ -5751,7 +5751,7 @@ component_build_arm_linux_gnueabi_gcc_arm5vte () { + # See https://github.com/Mbed-TLS/mbedtls/pull/2169 and comments. + # Build everything including programs, see for example + # https://github.com/Mbed-TLS/mbedtls/pull/3449#issuecomment-675313720 +- make CC="${ARM_LINUX_GNUEABI_GCC_PREFIX}gcc" AR="${ARM_LINUX_GNUEABI_GCC_PREFIX}ar" CFLAGS='-Werror -Wall -Wextra -march=armv5te -O1' LDFLAGS='-march=armv5te' ++ make CC="${ARM_LINUX_GNUEABI_GCC_PREFIX}gcc" AR="${ARM_LINUX_GNUEABI_GCC_PREFIX}ar" CFLAGS=' -Wall -Wextra -march=armv5te -O1' LDFLAGS='-march=armv5te' + + msg "size: ${ARM_LINUX_GNUEABI_GCC_PREFIX}gcc -march=armv5te -O1, baremetal+debug" + ${ARM_LINUX_GNUEABI_GCC_PREFIX}size -t library/*.o +@@ -5766,7 +5766,7 @@ component_build_arm_none_eabi_gcc_arm5vte () { + # This is an imperfect substitute for + # component_build_arm_linux_gnueabi_gcc_arm5vte + # in case the gcc-arm-linux-gnueabi toolchain is not available +- make CC="${ARM_NONE_EABI_GCC_PREFIX}gcc" AR="${ARM_NONE_EABI_GCC_PREFIX}ar" CFLAGS='-std=c99 -Werror -Wall -Wextra -march=armv5te -O1' LDFLAGS='-march=armv5te' SHELL='sh -x' lib ++ make CC="${ARM_NONE_EABI_GCC_PREFIX}gcc" AR="${ARM_NONE_EABI_GCC_PREFIX}ar" CFLAGS='-std=c99 -Wall -Wextra -march=armv5te -O1' LDFLAGS='-march=armv5te' SHELL='sh -x' lib + + msg "size: ${ARM_NONE_EABI_GCC_PREFIX}gcc -march=armv5te -O1, baremetal+debug" + ${ARM_NONE_EABI_GCC_PREFIX}size -t library/*.o +@@ -5775,7 +5775,7 @@ component_build_arm_none_eabi_gcc_arm5vte () { + component_build_arm_none_eabi_gcc_m0plus () { + msg "build: ${ARM_NONE_EABI_GCC_PREFIX}gcc -mthumb -mcpu=cortex-m0plus, baremetal_size" # ~ 10s + scripts/config.py baremetal_size +- make CC="${ARM_NONE_EABI_GCC_PREFIX}gcc" AR="${ARM_NONE_EABI_GCC_PREFIX}ar" LD="${ARM_NONE_EABI_GCC_PREFIX}ld" CFLAGS='-std=c99 -Werror -Wall -Wextra -mthumb -mcpu=cortex-m0plus -Os' lib ++ make CC="${ARM_NONE_EABI_GCC_PREFIX}gcc" AR="${ARM_NONE_EABI_GCC_PREFIX}ar" LD="${ARM_NONE_EABI_GCC_PREFIX}ld" CFLAGS='-std=c99 -Wall -Wextra -mthumb -mcpu=cortex-m0plus -Os' lib + + msg "size: ${ARM_NONE_EABI_GCC_PREFIX}gcc -mthumb -mcpu=cortex-m0plus -Os, baremetal_size" + ${ARM_NONE_EABI_GCC_PREFIX}size -t library/*.o +@@ -5789,7 +5789,7 @@ component_build_arm_none_eabi_gcc_no_udbl_division () { + msg "build: ${ARM_NONE_EABI_GCC_PREFIX}gcc -DMBEDTLS_NO_UDBL_DIVISION, make" # ~ 10s + scripts/config.py baremetal + scripts/config.py set MBEDTLS_NO_UDBL_DIVISION +- make CC="${ARM_NONE_EABI_GCC_PREFIX}gcc" AR="${ARM_NONE_EABI_GCC_PREFIX}ar" LD="${ARM_NONE_EABI_GCC_PREFIX}ld" CFLAGS='-std=c99 -Werror -Wall -Wextra' lib ++ make CC="${ARM_NONE_EABI_GCC_PREFIX}gcc" AR="${ARM_NONE_EABI_GCC_PREFIX}ar" LD="${ARM_NONE_EABI_GCC_PREFIX}ld" CFLAGS='-std=c99 -Wall -Wextra' lib + echo "Checking that software 64-bit division is not required" + not grep __aeabi_uldiv library/*.o + } +@@ -5798,7 +5798,7 @@ component_build_arm_none_eabi_gcc_no_64bit_multiplication () { + msg "build: ${ARM_NONE_EABI_GCC_PREFIX}gcc MBEDTLS_NO_64BIT_MULTIPLICATION, make" # ~ 10s + scripts/config.py baremetal + scripts/config.py set MBEDTLS_NO_64BIT_MULTIPLICATION +- make CC="${ARM_NONE_EABI_GCC_PREFIX}gcc" AR="${ARM_NONE_EABI_GCC_PREFIX}ar" LD="${ARM_NONE_EABI_GCC_PREFIX}ld" CFLAGS='-std=c99 -Werror -O1 -march=armv6-m -mthumb' lib ++ make CC="${ARM_NONE_EABI_GCC_PREFIX}gcc" AR="${ARM_NONE_EABI_GCC_PREFIX}ar" LD="${ARM_NONE_EABI_GCC_PREFIX}ld" CFLAGS='-std=c99 -O1 -march=armv6-m -mthumb' lib + echo "Checking that software 64-bit multiplication is not required" + not grep __aeabi_lmul library/*.o + } +@@ -5810,16 +5810,16 @@ component_build_arm_clang_thumb () { + + msg "build: clang thumb 2, make" + make clean +- make CC="clang" CFLAGS='-std=c99 -Werror -Os --target=arm-linux-gnueabihf -march=armv7-m -mthumb' lib ++ make CC="clang" CFLAGS='-std=c99 -Os --target=arm-linux-gnueabihf -march=armv7-m -mthumb' lib + + # Some Thumb 1 asm is sensitive to optimisation level, so test both -O0 and -Os + msg "build: clang thumb 1 -O0, make" + make clean +- make CC="clang" CFLAGS='-std=c99 -Werror -O0 --target=arm-linux-gnueabihf -mcpu=arm1136j-s -mthumb' lib ++ make CC="clang" CFLAGS='-std=c99 -O0 --target=arm-linux-gnueabihf -mcpu=arm1136j-s -mthumb' lib + + msg "build: clang thumb 1 -Os, make" + make clean +- make CC="clang" CFLAGS='-std=c99 -Werror -Os --target=arm-linux-gnueabihf -mcpu=arm1136j-s -mthumb' lib ++ make CC="clang" CFLAGS='-std=c99 -Os --target=arm-linux-gnueabihf -mcpu=arm1136j-s -mthumb' lib + } + + component_build_armcc () { +@@ -5835,7 +5835,7 @@ component_build_armcc () { + # With this enabled, the library does build correctly under armclang, + # but in baremetal builds (as tested here), feature detection is + # unavailable, and the user is notified via a #warning. So enabling +- # this feature would prevent us from building with -Werror on ++ # this feature would prevent us from building with on + # armclang. Tracked in #7198. + scripts/config.py unset MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT + +@@ -6063,20 +6063,20 @@ component_test_tls13_no_compatibility_mode () { + + component_build_mingw () { + msg "build: Windows cross build - mingw64, make (Link Library)" # ~ 30s +- make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS='-Werror -Wall -Wextra -maes -msse2 -mpclmul' WINDOWS_BUILD=1 lib programs ++ make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS=' -Wall -Wextra -maes -msse2 -mpclmul' WINDOWS_BUILD=1 lib programs + + # note Make tests only builds the tests, but doesn't run them +- make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS='-Werror -maes -msse2 -mpclmul' WINDOWS_BUILD=1 tests ++ make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS=' -maes -msse2 -mpclmul' WINDOWS_BUILD=1 tests + make WINDOWS_BUILD=1 clean + + msg "build: Windows cross build - mingw64, make (DLL)" # ~ 30s +- make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS='-Werror -Wall -Wextra -maes -msse2 -mpclmul' WINDOWS_BUILD=1 SHARED=1 lib programs +- make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS='-Werror -Wall -Wextra -maes -msse2 -mpclmul' WINDOWS_BUILD=1 SHARED=1 tests ++ make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS=' -Wall -Wextra -maes -msse2 -mpclmul' WINDOWS_BUILD=1 SHARED=1 lib programs ++ make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS=' -Wall -Wextra -maes -msse2 -mpclmul' WINDOWS_BUILD=1 SHARED=1 tests + make WINDOWS_BUILD=1 clean + + msg "build: Windows cross build - mingw64, make (Library only, default config without MBEDTLS_AESNI_C)" # ~ 30s + ./scripts/config.py unset MBEDTLS_AESNI_C # +- make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS='-Werror -Wall -Wextra' WINDOWS_BUILD=1 lib ++ make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS=' -Wall -Wextra' WINDOWS_BUILD=1 lib + make WINDOWS_BUILD=1 clean + } + support_build_mingw() { +@@ -6326,7 +6326,7 @@ component_build_zeroize_checks () { + scripts/config.py full + + # Only compile - we're looking for sizeof-pointer-memaccess warnings +- make CFLAGS="'-DMBEDTLS_USER_CONFIG_FILE=\"../tests/configs/user-config-zeroize-memset.h\"' -DMBEDTLS_TEST_DEFINES_ZEROIZE -Werror -Wsizeof-pointer-memaccess" ++ make CFLAGS="'-DMBEDTLS_USER_CONFIG_FILE=\"../tests/configs/user-config-zeroize-memset.h\"' -DMBEDTLS_TEST_DEFINES_ZEROIZE -Wsizeof-pointer-memaccess" + } + + +diff --git a/lib/mbedtls/external/mbedtls/tests/scripts/depends.py b/lib/mbedtls/external/mbedtls/tests/scripts/depends.py +index 1990cd21cab..45e9bc58eec 100755 +--- a/lib/mbedtls/external/mbedtls/tests/scripts/depends.py ++++ b/lib/mbedtls/external/mbedtls/tests/scripts/depends.py +@@ -384,7 +384,7 @@ class DomainData: + + def __init__(self, options, conf): + """Gather data about the library and establish a list of domains to test.""" +- build_command = [options.make_command, 'CFLAGS=-Werror -O2'] ++ build_command = [options.make_command, 'CFLAGS= -O2'] + build_and_test = [build_command, [options.make_command, 'test']] + self.all_config_symbols = set(conf.settings.keys()) + # Find hash modules by name. +diff --git a/lib/mbedtls/external/mbedtls/tests/scripts/test-ref-configs.pl b/lib/mbedtls/external/mbedtls/tests/scripts/test-ref-configs.pl +index 055023a5f2c..354e52b0c27 100755 +--- a/lib/mbedtls/external/mbedtls/tests/scripts/test-ref-configs.pl ++++ b/lib/mbedtls/external/mbedtls/tests/scripts/test-ref-configs.pl +@@ -108,7 +108,7 @@ sub perform_test { + system( "scripts/config.py set MBEDTLS_USE_PSA_CRYPTO" ); + } + +- system( "CFLAGS='-Os -Werror -Wall -Wextra' make" ) and abort "Failed to build: $conf_name\n"; ++ system( "CFLAGS='-Os -Wall -Wextra' make" ) and abort "Failed to build: $conf_name\n"; + system( "make test" ) and abort "Failed test suite: $conf_name\n"; + + my $compat = $data->{'compat'}; +@@ -134,7 +134,7 @@ sub perform_test { + system( "make clean" ); + system( "scripts/config.py set MBEDTLS_DEBUG_C" ); + system( "scripts/config.py set MBEDTLS_ERROR_C" ); +- system( "CFLAGS='-Os -Werror -Wall -Wextra' make" ) and abort "Failed to build: $conf_name\n"; ++ system( "CFLAGS='-Os -Wall -Wextra' make" ) and abort "Failed to build: $conf_name\n"; + } + + print "\nrunning ssl-opt.sh $opt ($conf_name)\n"; +diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include +index edc91b24e45..69e9b6980f6 100644 +--- a/scripts/Kbuild.include ++++ b/scripts/Kbuild.include +@@ -117,7 +117,7 @@ as-instr = $(call try-run,\ + # __cc-option + # Usage: MY_CFLAGS += $(call __cc-option,$(CC),$(MY_CFLAGS),-march=winchip-c6,-march=i586) + __cc-option = $(call try-run,\ +- $(1) -Werror $(2) $(3) -c -x c /dev/null -o "$$TMP",$(3),$(4)) ++ $(1) $(2) $(3) -c -x c /dev/null -o "$$TMP",$(3),$(4)) + + # cc-option + # Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586) +@@ -132,12 +132,12 @@ hostcc-option = $(call __cc-option, $(HOSTCC),\ + # cc-option-yn + # Usage: flag := $(call cc-option-yn,-march=winchip-c6) + cc-option-yn = $(call try-run,\ +- $(CC) -Werror $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n) ++ $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n) + + # cc-disable-warning + # Usage: cflags-y += $(call cc-disable-warning,unused-but-set-variable) + cc-disable-warning = $(call try-run,\ +- $(CC) -Werror $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1))) ++ $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1))) + + # cc-name + # Expands to either gcc or clang +diff --git a/scripts/Kconfig.include b/scripts/Kconfig.include +index b7598ca5d9f..2cda1340e3c 100644 +--- a/scripts/Kconfig.include ++++ b/scripts/Kconfig.include +@@ -20,7 +20,7 @@ success = $(if-success,$(1),y,n) + + # $(cc-option,<flag>) + # Return y if the compiler supports <flag>, n otherwise +-cc-option = $(success,$(CC) -Werror $(1) -E -x c /dev/null -o /dev/null) ++cc-option = $(success,$(CC) $(1) -E -x c /dev/null -o /dev/null) + + # $(cc-define,<macro>) + # Return y if the compiler defines <macro>, n otherwise +diff --git a/scripts/gcc-stack-usage.sh b/scripts/gcc-stack-usage.sh +index 3db32e35f68..4802165405f 100755 +--- a/scripts/gcc-stack-usage.sh ++++ b/scripts/gcc-stack-usage.sh +@@ -6,7 +6,7 @@ + + TMP="$$" + +-cat <<END | $@ -Werror -fstack-usage -x c - -c -o $TMP >/dev/null 2>&1 \ ++cat <<END | $@ -fstack-usage -x c - -c -o $TMP >/dev/null 2>&1 \ + && echo "y" + int main(void) + { +diff --git a/scripts/kernel-doc b/scripts/kernel-doc +index 6dda8cb51f2..a363acb03ef 100755 +--- a/scripts/kernel-doc ++++ b/scripts/kernel-doc +@@ -329,10 +329,6 @@ if (defined($ENV{'KBUILD_VERBOSE'})) { + $verbose = "$ENV{'KBUILD_VERBOSE'}"; + } + +-if (defined($ENV{'KDOC_WERROR'})) { +- $Werror = "$ENV{'KDOC_WERROR'}"; +-} +- + if (defined($ENV{'KCFLAGS'})) { + my $kcflags = "$ENV{'KCFLAGS'}"; + +diff --git a/tools/buildman/builderthread.py b/tools/buildman/builderthread.py +index 29e6cf32af1..a7149d4b8ce 100644 +--- a/tools/buildman/builderthread.py ++++ b/tools/buildman/builderthread.py +@@ -227,9 +227,6 @@ class BuilderThread(threading.Thread): + args.append('-s') + if self.builder.num_jobs is not None: + args.extend(['-j', str(self.builder.num_jobs)]) +- if self.builder.warnings_as_errors: +- args.append('KCFLAGS=-Werror') +- args.append('HOSTCFLAGS=-Werror') + if self.builder.allow_missing: + args.append('BINMAN_ALLOW_MISSING=1') + if self.builder.no_lto: +-- +2.47.3 + diff --git a/config/module/u-boot/default/target.cfg b/config/module/u-boot/default/target.cfg new file mode 100644 index 00000000..3fcb54b7 --- /dev/null +++ b/config/module/u-boot/default/target.cfg @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +rev="34820924edbc4ec7803eb89d9852f4b870fa760a" # v2025.04 + +tree="default" + +xgcctree="default" +fetch_depend="coreboot/default" diff --git a/config/module/u-boot/gru_bob/config/default b/config/module/u-boot/gru_bob/config/default new file mode 100644 index 00000000..f6894b52 --- /dev/null +++ b/config/module/u-boot/gru_bob/config/default @@ -0,0 +1,2593 @@ +# +# Automatically generated file; DO NOT EDIT. +# U-Boot 2025.04 Configuration +# + +# +# Compiler: gcc (Debian 14.2.0-19) 14.2.0 +# +CONFIG_CREATE_ARCH_SYMLINK=y +CONFIG_HAVE_SETJMP=y +CONFIG_SUPPORT_LITTLE_ENDIAN=y +CONFIG_SYS_CACHE_SHIFT_6=y +CONFIG_64BIT=y +CONFIG_SPL_64BIT=y +CONFIG_SYS_CACHELINE_SIZE=64 +CONFIG_LINKER_LIST_ALIGN=8 +# CONFIG_ARC is not set +CONFIG_ARM=y +# CONFIG_M68K is not set +# CONFIG_MICROBLAZE is not set +# CONFIG_MIPS is not set +# CONFIG_NIOS2 is not set +# CONFIG_PPC is not set +# CONFIG_RISCV is not set +# CONFIG_SANDBOX is not set +# CONFIG_SH is not set +# CONFIG_X86 is not set +# CONFIG_XTENSA is not set +CONFIG_SYS_ARCH="arm" +CONFIG_SYS_CPU="armv8" +CONFIG_SYS_SOC="rk3399" +CONFIG_SYS_VENDOR="google" +CONFIG_SYS_BOARD="gru" +CONFIG_SYS_CONFIG_NAME="gru" + +# +# Skipping low level initialization functions +# +CONFIG_SKIP_LOWLEVEL_INIT=y +# CONFIG_SPL_SKIP_LOWLEVEL_INIT is not set +# CONFIG_TPL_SKIP_LOWLEVEL_INIT is not set +# CONFIG_SKIP_LOWLEVEL_INIT_ONLY is not set +# CONFIG_SPL_SKIP_LOWLEVEL_INIT_ONLY is not set +# CONFIG_TPL_SKIP_LOWLEVEL_INIT_ONLY is not set +# CONFIG_SYS_ICACHE_OFF is not set +# CONFIG_SPL_SYS_ICACHE_OFF is not set +# CONFIG_SYS_DCACHE_OFF is not set +# CONFIG_SPL_SYS_DCACHE_OFF is not set + +# +# ARM architecture +# +CONFIG_ARM64=y +CONFIG_ARM64_CRC32=y +CONFIG_COUNTER_FREQUENCY=24000000 +CONFIG_POSITION_INDEPENDENT=y +# CONFIG_INIT_SP_RELATIVE is not set +CONFIG_LNX_KRNL_IMG_TEXT_OFFSET_BASE=0x18000000 +# CONFIG_DRIVER_GICV2 is not set +# CONFIG_GIC_V3_ITS is not set +# CONFIG_GICV3_SUPPORT_GIC600 is not set +CONFIG_STATIC_RELA=y +CONFIG_DMA_ADDR_T_64BIT=y +CONFIG_ARM_ASM_UNIFIED=y +# CONFIG_SYS_ARM_CACHE_CP15 is not set +# CONFIG_SYS_ARM_MMU is not set +# CONFIG_SYS_ARM_MPU is not set +CONFIG_SYS_ARM_ARCH=8 +CONFIG_SYS_ARM_CACHE_WRITEBACK=y +# CONFIG_SYS_ARM_CACHE_WRITETHROUGH is not set +# CONFIG_SYS_ARM_CACHE_WRITEALLOC is not set +# CONFIG_ARCH_CPU_INIT is not set +CONFIG_SYS_ARCH_TIMER=y +CONFIG_ARM_SMCCC=y +# CONFIG_SYS_L2_PL310 is not set +# CONFIG_SPL_SYS_L2_PL310 is not set +# CONFIG_SYS_L2CACHE_OFF is not set +CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y +# CONFIG_USE_ARCH_MEMCPY is not set +# CONFIG_SPL_USE_ARCH_MEMCPY is not set +# CONFIG_TPL_USE_ARCH_MEMCPY is not set +# CONFIG_USE_ARCH_MEMSET is not set +# CONFIG_SPL_USE_ARCH_MEMSET is not set +# CONFIG_TPL_USE_ARCH_MEMSET is not set +CONFIG_ARM64_SUPPORT_AARCH32=y +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_HISTB is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_MVEBU is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_BCM283X is not set +# CONFIG_ARCH_BCMSTB is not set +# CONFIG_ARCH_BCMBCA is not set +# CONFIG_TARGET_VEXPRESS_CA9X4 is not set +# CONFIG_TARGET_BCMNS is not set +# CONFIG_TARGET_BCMNS3 is not set +# CONFIG_ARCH_EXYNOS is not set +# CONFIG_ARCH_S5PC1XX is not set +# CONFIG_ARCH_HIGHBANK is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_IPQ40XX is not set +# CONFIG_ARCH_KEYSTONE is not set +# CONFIG_ARCH_K3 is not set +# CONFIG_ARCH_OMAP2PLUS is not set +# CONFIG_ARCH_MESON is not set +# CONFIG_ARCH_MEDIATEK is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_LPC32XX is not set +# CONFIG_ARCH_IMX8 is not set +# CONFIG_ARCH_IMX8M is not set +# CONFIG_ARCH_IMX8ULP is not set +# CONFIG_ARCH_IMX9 is not set +# CONFIG_ARCH_IMXRT is not set +# CONFIG_ARCH_MX23 is not set +# CONFIG_ARCH_MX28 is not set +# CONFIG_ARCH_MX31 is not set +# CONFIG_ARCH_MX7ULP is not set +# CONFIG_ARCH_MX7 is not set +# CONFIG_ARCH_MX6 is not set +# CONFIG_ARCH_MX5 is not set +# CONFIG_ARCH_NEXELL is not set +# CONFIG_ARCH_NPCM is not set +# CONFIG_ARCH_APPLE is not set +# CONFIG_ARCH_OWL is not set +# CONFIG_ARCH_QEMU is not set +# CONFIG_ARCH_RENESAS is not set +# CONFIG_ARCH_SNAPDRAGON is not set +# CONFIG_ARCH_SOCFPGA is not set +# CONFIG_ARCH_SUNXI is not set +# CONFIG_ARCH_U8500 is not set +# CONFIG_ARCH_VERSAL is not set +# CONFIG_ARCH_VERSAL2 is not set +# CONFIG_ARCH_VERSAL_NET is not set +# CONFIG_ARCH_VF610 is not set +# CONFIG_ARCH_ZYNQ is not set +# CONFIG_ARCH_ZYNQMP_R5 is not set +# CONFIG_ARCH_ZYNQMP is not set +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARCH_VEXPRESS64 is not set +# CONFIG_TARGET_CORSTONE1000 is not set +# CONFIG_TARGET_TOTAL_COMPUTE is not set +# CONFIG_TARGET_LS2080A_EMU is not set +# CONFIG_TARGET_LS1088AQDS is not set +# CONFIG_TARGET_LS2080AQDS is not set +# CONFIG_TARGET_LS2080ARDB is not set +# CONFIG_TARGET_LS2081ARDB is not set +# CONFIG_TARGET_LX2160ARDB is not set +# CONFIG_TARGET_LX2160AQDS is not set +# CONFIG_TARGET_LX2162AQDS is not set +# CONFIG_TARGET_HIKEY is not set +# CONFIG_TARGET_HIKEY960 is not set +# CONFIG_TARGET_POPLAR is not set +# CONFIG_TARGET_LS1012AQDS is not set +# CONFIG_TARGET_LS1012ARDB is not set +# CONFIG_TARGET_LS1012A2G5RDB is not set +# CONFIG_TARGET_LS1012AFRWY is not set +# CONFIG_TARGET_LS1012AFRDM is not set +# CONFIG_TARGET_LS1028AQDS is not set +# CONFIG_TARGET_LS1028ARDB is not set +# CONFIG_TARGET_LS1088ARDB is not set +# CONFIG_TARGET_LS1021AQDS is not set +# CONFIG_TARGET_LS1021ATWR is not set +# CONFIG_TARGET_PG_WCOM_SELI8 is not set +# CONFIG_TARGET_PG_WCOM_EXPU1 is not set +# CONFIG_TARGET_LS1021ATSN is not set +# CONFIG_TARGET_LS1021AIOT is not set +# CONFIG_TARGET_LS1043AQDS is not set +# CONFIG_TARGET_LS1043ARDB is not set +# CONFIG_TARGET_LS1046AQDS is not set +# CONFIG_TARGET_LS1046ARDB is not set +# CONFIG_TARGET_LS1046AFRWY is not set +# CONFIG_ARCH_SC5XX is not set +# CONFIG_TARGET_SL28 is not set +# CONFIG_TARGET_TEN64 is not set +# CONFIG_ARCH_UNIPHIER is not set +# CONFIG_ARCH_SYNQUACER is not set +# CONFIG_ARCH_STM32 is not set +# CONFIG_ARCH_STI is not set +# CONFIG_ARCH_STM32MP is not set +CONFIG_ARCH_ROCKCHIP=y +# CONFIG_ARCH_OCTEONTX is not set +# CONFIG_ARCH_OCTEONTX2 is not set +# CONFIG_TARGET_THUNDERX_88XX is not set +# CONFIG_ARCH_ASPEED is not set +# CONFIG_TARGET_DURIAN is not set +# CONFIG_TARGET_POMELO is not set +# CONFIG_TARGET_PE2201 is not set +# CONFIG_TARGET_PRESIDIO_ASIC is not set +# CONFIG_TARGET_XENGUEST_ARM64 is not set +# CONFIG_ARCH_GXP is not set +CONFIG_TEXT_BASE=0x18000000 +CONFIG_SYS_MALLOC_LEN=0x2000000 +CONFIG_SYS_MALLOC_F_LEN=0x10000 +CONFIG_BLOBLIST_SIZE_RELOC=0x1000 +CONFIG_SPL_GPIO=y +CONFIG_SPL_LIBCOMMON_SUPPORT=y +CONFIG_SPL_LIBGENERIC_SUPPORT=y +CONFIG_NR_DRAM_BANKS=1 +CONFIG_SPL_LDSCRIPT="arch/arm/cpu/armv8/u-boot-spl.lds" +CONFIG_ENV_SOURCE_FILE="" +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x3f00000 +CONFIG_SF_DEFAULT_SPEED=20000000 +CONFIG_SF_DEFAULT_MODE=0x0 +CONFIG_ENV_SIZE=0x1f000 +CONFIG_DM_GPIO=y +CONFIG_SPL_DM_SPI=y +CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3399-gru-bob" +CONFIG_DDR_SI_TEST=y +CONFIG_OF_LIBFDT_OVERLAY=y +CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x8000 +CONFIG_DM_RESET=y +CONFIG_SYS_MONITOR_LEN=0 +# CONFIG_ROCKCHIP_PX30 is not set +# CONFIG_ROCKCHIP_RK3036 is not set +# CONFIG_ROCKCHIP_RK3066 is not set +# CONFIG_ROCKCHIP_RK3128 is not set +# CONFIG_ROCKCHIP_RK3188 is not set +# CONFIG_ROCKCHIP_RK322X is not set +# CONFIG_ROCKCHIP_RK3288 is not set +# CONFIG_ROCKCHIP_RK3308 is not set +# CONFIG_ROCKCHIP_RK3328 is not set +# CONFIG_ROCKCHIP_RK3368 is not set +CONFIG_ROCKCHIP_RK3399=y +# CONFIG_ROCKCHIP_RK3568 is not set +# CONFIG_ROCKCHIP_RK3588 is not set +# CONFIG_ROCKCHIP_RV1108 is not set +# CONFIG_ROCKCHIP_RV1126 is not set +# CONFIG_ROCKCHIP_USB_UART is not set +# CONFIG_SPL_ROCKCHIP_BACK_TO_BROM is not set +CONFIG_TPL_ROCKCHIP_BACK_TO_BROM=y +CONFIG_ROCKCHIP_COMMON_BOARD=y +CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y +CONFIG_TPL_ROCKCHIP_COMMON_BOARD=y +# CONFIG_ROCKCHIP_EXTERNAL_TPL is not set +CONFIG_ROCKCHIP_BOOT_MODE_REG=0 +# CONFIG_ROCKCHIP_RK8XX_DISABLE_BOOT_ON_POWERON is not set +CONFIG_ROCKCHIP_STIMER=y +CONFIG_ROCKCHIP_STIMER_BASE=0xff8680a0 +CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x0 +CONFIG_ROCKCHIP_BROM_HELPER=y +# CONFIG_SPL_ROCKCHIP_EARLYRETURN_TO_BROM is not set +CONFIG_ROCKCHIP_DISABLE_FORCE_JTAG=y +# CONFIG_TPL_ROCKCHIP_EARLYRETURN_TO_BROM is not set +# CONFIG_SPL_MMC is not set +CONFIG_ROCKCHIP_SPI_IMAGE=y +CONFIG_ROCKCHIP_COMMON_STACK_ADDR=y +CONFIG_SPL_SERIAL=y +CONFIG_TPL_LDSCRIPT="arch/arm/mach-rockchip/u-boot-tpl-v8.lds" +CONFIG_TPL_TEXT_BASE=0xff8c2000 +CONFIG_TPL_STACK=0xff8effff +CONFIG_TPL_SYS_MALLOC_F_LEN=0x4000 +CONFIG_TPL_LIBCOMMON_SUPPORT=y +CONFIG_TPL_LIBGENERIC_SUPPORT=y +CONFIG_TPL_SERIAL=y +# CONFIG_SPL_DRIVERS_MISC is not set +CONFIG_SPL_STACK_R_ADDR=0x3e00000 +CONFIG_TARGET_CHROMEBOOK_BOB=y +# CONFIG_TARGET_CHROMEBOOK_KEVIN is not set +# CONFIG_TARGET_EVB_RK3399 is not set +# CONFIG_TARGET_PINEBOOK_PRO_RK3399 is not set +# CONFIG_TARGET_PINEPHONE_PRO_RK3399 is not set +# CONFIG_TARGET_PUMA_RK3399 is not set +# CONFIG_TARGET_ROCK960_RK3399 is not set +# CONFIG_TARGET_ROCKPI4_RK3399 is not set +# CONFIG_TARGET_ROCKPRO64_RK3399 is not set +# CONFIG_TARGET_ROC_PC_RK3399 is not set +CONFIG_TPL_SYS_MALLOC_F=y +CONFIG_SPL_SYS_MALLOC_F_LEN=0x8000 +CONFIG_SPL_TEXT_BASE=0x0 +CONFIG_SPL_HAS_BSS_LINKER_SECTION=y +CONFIG_SPL_BSS_START_ADDR=0x3f80000 +CONFIG_SPL_BSS_MAX_SIZE=0x8000 +CONFIG_SPL_STACK_R=y +CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x200000 +CONFIG_SYS_BOOTM_LEN=0x4000000 +CONFIG_SYS_LOAD_ADDR=0x800800 +CONFIG_WATCHDOG_TIMEOUT_MSECS=60000 +CONFIG_SPL_OF_LIBFDT_ASSUME_MASK=0xff +CONFIG_SF_DEFAULT_BUS=1 +CONFIG_SF_DEFAULT_CS=0 +CONFIG_SPL_SYS_MALLOC_F=y +CONFIG_ERR_PTR_OFFSET=0x0 +CONFIG_SPL_SIZE_LIMIT=0x0 +CONFIG_SPL=y +CONFIG_PRE_CON_BUF_ADDR=0x0f200000 +CONFIG_PRE_CON_BUF_SZ=4096 +CONFIG_DEBUG_UART_BASE=0xff1a0000 +CONFIG_DEBUG_UART_CLOCK=24000000 +CONFIG_DEBUG_UART_BOARD_INIT=y +CONFIG_IDENT_STRING="" +CONFIG_SYS_CLK_FREQ=0 +# CONFIG_CHIP_DIP_SCAN is not set +# CONFIG_SPL_FS_FAT is not set +# CONFIG_SPL_LIBDISK_SUPPORT is not set +CONFIG_SPL_SPI_FLASH_SUPPORT=y +CONFIG_SPL_SPI=y +# CONFIG_CMO_BY_VA_ONLY is not set +# CONFIG_ARMV8_SPL_EXCEPTION_VECTORS is not set +# CONFIG_ARMV8_MULTIENTRY is not set +CONFIG_ARMV8_SET_SMPEN=y +# CONFIG_ARMV8_SWITCH_TO_EL1 is not set + +# +# ARMv8 secure monitor firmware +# +# CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT is not set +# CONFIG_SPL_ARMV8_SEC_FIRMWARE_SUPPORT is not set +# CONFIG_SPL_RECOVER_DATA_SECTION is not set +CONFIG_PSCI_RESET=y +# CONFIG_ARMV8_PSCI is not set +# CONFIG_ARMV8_EA_EL3_FIRST is not set +# CONFIG_ARMV8_UDELAY_EVENT_STREAM is not set +CONFIG_ARMV8_CRYPTO=y +CONFIG_ARMV8_CE_SHA1=y +CONFIG_ARMV8_CE_SHA256=y +CONFIG_SYS_MEM_TOP_HIDE=0x0 + +# +# ARM debug +# +CONFIG_TPL_MAX_SIZE=0x2e000 +CONFIG_SPL_PAYLOAD="tpl/u-boot-with-tpl.bin" +CONFIG_BUILD_TARGET="" +# CONFIG_PCI is not set +CONFIG_FWU_NUM_BANKS=2 +CONFIG_FWU_NUM_IMAGES_PER_BANK=2 +CONFIG_TPL_SIZE_LIMIT=0x0 +CONFIG_DEBUG_UART=y +# CONFIG_AHCI is not set +# CONFIG_OF_BOARD_FIXUP is not set + +# +# Functionality shared between NXP SoCs +# +# CONFIG_NXP_ESBC is not set +CONFIG_SYS_LITTLE_ENDIAN=y + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=140200 +CONFIG_CLANG_VERSION=0 +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set +# CONFIG_CC_OPTIMIZE_FOR_DEBUG is not set +# CONFIG_OPTIMIZE_INLINING is not set +# CONFIG_SPL_OPTIMIZE_INLINING is not set +CONFIG_ARCH_SUPPORTS_LTO=y +# CONFIG_LTO is not set +# CONFIG_TPL_OPTIMIZE_INLINING is not set +CONFIG_CC_HAS_ASM_INLINE=y +# CONFIG_XEN is not set +CONFIG_ENV_VARS_UBOOT_CONFIG=y +# CONFIG_SYS_BOOT_GET_CMDLINE is not set +# CONFIG_SYS_BOOT_GET_KBD is not set +CONFIG_SYS_MALLOC_F=y +# CONFIG_VALGRIND is not set +CONFIG_EXPERT=y +CONFIG_SYS_MALLOC_CLEAR_ON_INIT=y +CONFIG_SPL_SYS_MALLOC_CLEAR_ON_INIT=y +# CONFIG_SYS_MALLOC_DEFAULT_TO_INIT is not set +# CONFIG_TOOLS_DEBUG is not set +CONFIG_PHYS_64BIT=y +CONFIG_FDT_64BIT=y +CONFIG_HAS_ROM=y +CONFIG_SPL_IMAGE="spl/u-boot-spl.bin" +CONFIG_REMAKE_ELF=y +# CONFIG_HAS_BOARD_SIZE_LIMIT is not set +# CONFIG_SYS_CUSTOM_LDSCRIPT is not set +CONFIG_PLATFORM_ELFENTRY="_start" +CONFIG_STACK_SIZE=0x1000000 +# CONFIG_MP is not set +CONFIG_HAVE_TEXT_BASE=y +# CONFIG_HAVE_SYS_UBOOT_START is not set +CONFIG_SYS_UBOOT_START=0x18000000 +# CONFIG_DYNAMIC_SYS_CLK_FREQ is not set +# CONFIG_API is not set + +# +# Boot options +# + +# +# UEFI Support +# +CONFIG_EFI_LOADER=y +CONFIG_EFI_BINARY_EXEC=y +# CONFIG_EFI_SECURE_BOOT is not set + +# +# UEFI services +# +CONFIG_EFI_HAVE_RUNTIME_RESET=y + +# +# UEFI Variables +# +# CONFIG_EFI_VARIABLE_FILE_STORE is not set +CONFIG_EFI_VARIABLE_NO_STORE=y +# CONFIG_EFI_VARIABLES_PRESEED is not set +CONFIG_EFI_VAR_BUF_SIZE=131072 +CONFIG_EFI_PLATFORM_LANG_CODES="en-US" + +# +# Capsule support +# +# CONFIG_EFI_RUNTIME_UPDATE_CAPSULE is not set +# CONFIG_EFI_CAPSULE_ON_DISK is not set +CONFIG_EFI_CAPSULE_MAX=15 + +# +# UEFI protocol support +# +CONFIG_EFI_DEVICE_PATH_TO_TEXT=y +CONFIG_EFI_DEVICE_PATH_UTIL=y +CONFIG_EFI_DT_FIXUP=y +CONFIG_EFI_LOADER_HII=y +CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=y +CONFIG_EFI_UNICODE_CAPITALIZATION=y +CONFIG_EFI_RNG_PROTOCOL=y +CONFIG_EFI_LOAD_FILE2_INITRD=y +# CONFIG_EFI_IP4_CONFIG2_PROTOCOL is not set + +# +# Misc options +# +# CONFIG_EFI_LOADER_BOUNCE_BUFFER is not set +CONFIG_EFI_ECPT=y +CONFIG_EFI_EBBR_2_1_CONFORMANCE=y +# CONFIG_EFI_SCROLL_ON_CLEAR_SCREEN is not set + +# +# EFI bootmanager +# +CONFIG_EFI_BOOTMGR=y +# CONFIG_EFI_HTTP_BOOT is not set +CONFIG_BOOTEFI_HELLO_COMPILE=y +CONFIG_BOOTEFI_TESTAPP_COMPILE=y + +# +# Boot images +# +# CONFIG_ANDROID_BOOT_IMAGE is not set +# CONFIG_TIMESTAMP is not set +CONFIG_FIT=y +CONFIG_FIT_EXTERNAL_OFFSET=0x0 +CONFIG_FIT_FULL_CHECK=y +CONFIG_FIT_SIGNATURE=y +CONFIG_FIT_SIGNATURE_MAX_SIZE=0x10000000 +# CONFIG_FIT_RSASSA_PSS is not set +# CONFIG_FIT_CIPHER is not set +# CONFIG_FIT_VERBOSE is not set +# CONFIG_FIT_BEST_MATCH is not set +CONFIG_FIT_PRINT=y +CONFIG_SPL_FIT=y +# CONFIG_TPL_FIT is not set +# CONFIG_SPL_FIT_PRINT is not set +CONFIG_SPL_FIT_FULL_CHECK=y +CONFIG_SPL_FIT_SIGNATURE=y +CONFIG_SPL_FIT_SIGNATURE_MAX_SIZE=0x10000000 +# CONFIG_SPL_FIT_RSASSA_PSS is not set +CONFIG_SPL_LOAD_FIT=y +CONFIG_SPL_LOAD_FIT_ADDRESS=0x0 +# CONFIG_SPL_LOAD_FIT_APPLY_OVERLAY is not set +# CONFIG_SPL_LOAD_FIT_FULL is not set +# CONFIG_TPL_LOAD_FIT is not set +# CONFIG_SPL_FIT_IMAGE_POST_PROCESS is not set +CONFIG_PXE_UTILS=y +CONFIG_BOOT_DEFAULTS_FEATURES=y +CONFIG_BOOT_DEFAULTS_CMDS=y +CONFIG_BOOT_DEFAULTS=y +CONFIG_BOOTSTD=y +# CONFIG_SPL_BOOTSTD is not set +CONFIG_BOOTSTD_FULL=y +CONFIG_BOOTSTD_DEFAULTS=y +CONFIG_BOOTSTD_BOOTCOMMAND=y +CONFIG_BOOTSTD_MENU=y +CONFIG_BOOTMETH_GLOBAL=y +# CONFIG_BOOTMETH_ANDROID is not set +# CONFIG_BOOTMETH_CROS is not set +CONFIG_BOOTMETH_EXTLINUX=y +CONFIG_BOOTMETH_EXTLINUX_PXE=y +CONFIG_BOOTMETH_EFILOADER=y +CONFIG_BOOTMETH_EFI_BOOTMGR=y +CONFIG_BOOTMETH_VBE=y +CONFIG_BOOTMETH_DISTRO=y +# CONFIG_SPL_BOOTMETH_VBE is not set +CONFIG_TPL_BOOTMETH_VBE=y +CONFIG_BOOTMETH_VBE_REQUEST=y +# CONFIG_SPL_BOOTMETH_VBE_REQUEST is not set +CONFIG_BOOTMETH_VBE_SIMPLE=y +# CONFIG_BOOTMETH_VBE_ABREC is not set +CONFIG_BOOTMETH_VBE_SIMPLE_OS=y +# CONFIG_SPL_BOOTMETH_VBE_SIMPLE is not set +CONFIG_EXPO=y +CONFIG_BOOTMETH_SCRIPT=y +# CONFIG_UPL is not set +CONFIG_LEGACY_IMAGE_FORMAT=y +CONFIG_SUPPORT_RAW_INITRD=y +# CONFIG_CHROMEOS is not set +# CONFIG_CHROMEOS_VBOOT is not set +# CONFIG_RAMBOOT_PBL is not set +CONFIG_SYS_BOOT_RAMDISK_HIGH=y +# CONFIG_DISTRO_DEFAULTS is not set + +# +# Boot timing +# +# CONFIG_BOOTSTAGE is not set +# CONFIG_SHOW_BOOT_PROGRESS is not set +# CONFIG_SPL_SHOW_BOOT_PROGRESS is not set + +# +# Boot media +# +# CONFIG_NAND_BOOT is not set +# CONFIG_ONENAND_BOOT is not set +# CONFIG_QSPI_BOOT is not set +# CONFIG_SATA_BOOT is not set +# CONFIG_SD_BOOT is not set +# CONFIG_SD_BOOT_QSPI is not set +# CONFIG_SPI_BOOT is not set + +# +# Autoboot options +# +CONFIG_AUTOBOOT=y +CONFIG_BOOTDELAY=2 +# CONFIG_AUTOBOOT_KEYED is not set +# CONFIG_AUTOBOOT_USE_MENUKEY is not set +# CONFIG_AUTOBOOT_MENU_SHOW is not set +# CONFIG_BOOT_RETRY is not set + +# +# Image support +# +# CONFIG_IMAGE_PRE_LOAD is not set + +# +# Devicetree fixup +# +# CONFIG_OF_ENV_SETUP is not set +# CONFIG_OF_BOARD_SETUP is not set +# CONFIG_OF_SYSTEM_SETUP is not set +# CONFIG_OF_STDOUT_VIA_ALIAS is not set +# CONFIG_FDT_FIXUP_PARTITIONS is not set +# CONFIG_FDT_SIMPLEFB is not set +CONFIG_ARCH_FIXUP_FDT_MEMORY=y +# CONFIG_USE_BOOTARGS is not set +# CONFIG_BOOTARGS_SUBST is not set +CONFIG_USE_BOOTCOMMAND=y +CONFIG_BOOTCOMMAND="bootflow scan -l; if bootflow menu; then cls; bootflow boot; fi" +CONFIG_USE_PREBOOT=y +CONFIG_PREBOOT="usb start" +CONFIG_PREBOOT_DEFINED=y +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-gru-bob.dtb" +# CONFIG_SAVE_PREV_BL_FDT_ADDR is not set +# CONFIG_SAVE_PREV_BL_INITRAMFS_START_ADDR is not set + +# +# Configuration editor +# +# CONFIG_CEDIT is not set + +# +# Console +# +CONFIG_MENU=y +# CONFIG_CONSOLE_RECORD is not set +CONFIG_SYS_CBSIZE=1024 +CONFIG_SYS_PBSIZE=1044 +# CONFIG_DISABLE_CONSOLE is not set +CONFIG_LOGLEVEL=4 +CONFIG_SPL_LOGLEVEL=4 +CONFIG_TPL_LOGLEVEL=4 +# CONFIG_SILENT_CONSOLE is not set +# CONFIG_SPL_SILENT_CONSOLE is not set +# CONFIG_TPL_SILENT_CONSOLE is not set +CONFIG_PRE_CONSOLE_BUFFER=y +CONFIG_CONSOLE_FLUSH_SUPPORT=y +# CONFIG_CONSOLE_FLUSH_ON_NEWLINE is not set +CONFIG_CONSOLE_MUX=y +CONFIG_SYS_CONSOLE_IS_IN_ENV=y +# CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE is not set +# CONFIG_SYS_CONSOLE_ENV_OVERWRITE is not set +# CONFIG_SYS_CONSOLE_INFO_QUIET is not set +CONFIG_SYS_STDIO_DEREGISTER=y +# CONFIG_SPL_SYS_STDIO_DEREGISTER is not set +CONFIG_SYS_DEVICE_NULLDEV=y + +# +# Logging +# +CONFIG_LOG=y +CONFIG_LOG_MAX_LEVEL=6 +CONFIG_LOG_DEFAULT_LEVEL=6 +CONFIG_LOG_CONSOLE=y +# CONFIG_LOGF_FILE is not set +# CONFIG_LOGF_LINE is not set +# CONFIG_LOGF_FUNC is not set +CONFIG_LOGF_FUNC_PAD=20 +# CONFIG_LOG_SYSLOG is not set +# CONFIG_SPL_LOG is not set +# CONFIG_TPL_LOG is not set +# CONFIG_LOG_ERROR_RETURN is not set + +# +# Init options +# +# CONFIG_BOARD_TYPES is not set +# CONFIG_DISPLAY_CPUINFO is not set +CONFIG_DISPLAY_BOARDINFO=y +CONFIG_DISPLAY_BOARDINFO_LATE=y + +# +# Start-up hooks +# +CONFIG_CYCLIC=y +# CONFIG_SPL_CYCLIC is not set +CONFIG_CYCLIC_MAX_CPU_TIME_US=5000 +CONFIG_EVENT=y +CONFIG_EVENT_DYNAMIC=y +# CONFIG_EVENT_DEBUG is not set +# CONFIG_ARCH_MISC_INIT is not set +# CONFIG_BOARD_EARLY_INIT_F is not set +CONFIG_BOARD_EARLY_INIT_R=y +# CONFIG_BOARD_POSTCLK_INIT is not set +CONFIG_BOARD_LATE_INIT=y +# CONFIG_CLOCKS is not set +# CONFIG_HWCONFIG is not set +CONFIG_LAST_STAGE_INIT=y +CONFIG_MISC_INIT_R=y +# CONFIG_SYS_MALLOC_BOOTPARAMS is not set +# CONFIG_ID_EEPROM is not set +# CONFIG_RESET_PHY_R is not set + +# +# Security support +# +CONFIG_HASH=y +# CONFIG_HASH_CRC8 is not set +CONFIG_SPL_HASH=y +# CONFIG_STACKPROTECTOR is not set +# CONFIG_BOARD_RNG_SEED is not set + +# +# Update support +# +# CONFIG_UPDATE_TFTP is not set +# CONFIG_ANDROID_AB is not set + +# +# Blob list +# +CONFIG_BLOBLIST=y +CONFIG_SPL_BLOBLIST=y +# CONFIG_TPL_BLOBLIST is not set +CONFIG_BLOBLIST_FIXED=y +# CONFIG_BLOBLIST_ALLOC is not set +CONFIG_BLOBLIST_ADDR=0x100000 +CONFIG_BLOBLIST_SIZE=0x1000 +CONFIG_SPL_BLOBLIST_FIXED=y +# CONFIG_SPL_BLOBLIST_ALLOC is not set +CONFIG_SUPPORT_SPL=y +CONFIG_SUPPORT_TPL=y + +# +# SPL configuration options +# +CONFIG_SPL_FRAMEWORK=y +# CONFIG_SPL_FRAMEWORK_BOARD_INIT_F is not set +CONFIG_SPL_MAX_SIZE=0x40000 +CONFIG_SPL_PAD_TO=0x7f8000 +# CONFIG_SPL_NO_BSS_LIMIT is not set +CONFIG_SPL_BSS_LIMIT=y +# CONFIG_SPL_FOOTPRINT_LIMIT is not set +CONFIG_SPL_SYS_STACK_F_CHECK_BYTE=0xaa +# CONFIG_SPL_SYS_REPORT_STACK_F_USAGE is not set +# CONFIG_SPL_SHOW_ERRORS is not set +CONFIG_SPL_BINMAN_SYMBOLS=y +CONFIG_SPL_BINMAN_UBOOT_SYMBOLS=y +CONFIG_HANDOFF=y +CONFIG_SPL_HANDOFF=y +# CONFIG_SPL_SOC_INIT is not set +CONFIG_SPL_BOARD_INIT=y +CONFIG_SPL_LOAD_BLOCK=y +# CONFIG_SPL_BOOTROM_SUPPORT is not set +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set +# CONFIG_SPL_LEGACY_IMAGE_FORMAT is not set +# CONFIG_SPL_LOAD_IMX_CONTAINER is not set +CONFIG_SPL_SYS_MALLOC_SIMPLE=y +CONFIG_SPL_SHARES_INIT_SP_ADDR=y +CONFIG_SPL_SEPARATE_BSS=y +# CONFIG_SPL_SYS_MALLOC is not set +CONFIG_SPL_BANNER_PRINT=y +# CONFIG_SPL_DISPLAY_PRINT is not set +CONFIG_SPL_SYS_MMCSD_RAW_MODE=y +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y +# CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION is not set +# CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE is not set +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x4000 +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET=0x0 +# CONFIG_SPL_FIT_IMAGE_TINY is not set +# CONFIG_SPL_CACHE is not set +# CONFIG_SPL_CPU is not set +CONFIG_SPL_CRYPTO=y +# CONFIG_SPL_DMA is not set +# CONFIG_SPL_ENV_SUPPORT is not set +# CONFIG_SPL_FS_EXT4 is not set +# CONFIG_SPL_FS_SQUASHFS is not set +# CONFIG_SPL_FAT_WRITE is not set +# CONFIG_SPL_FPGA is not set +# CONFIG_SPL_I2C is not set +# CONFIG_SPL_DM_MAILBOX is not set +# CONFIG_SPL_MEMORY is not set +# CONFIG_SPL_MPC8XXX_INIT_DDR is not set +# CONFIG_SPL_MTD is not set +# CONFIG_SPL_MUSB_NEW is not set +# CONFIG_SPL_NAND_SUPPORT is not set +# CONFIG_SPL_NAND_DRIVERS is not set +# CONFIG_SPL_NAND_ECC is not set +# CONFIG_SPL_NAND_SIMPLE is not set +# CONFIG_SPL_RELOC_LOADER is not set +# CONFIG_SPL_UBI is not set +CONFIG_SPL_DM_SPI_FLASH=y +# CONFIG_SPL_NET is not set +# CONFIG_SPL_NOR_SUPPORT is not set +# CONFIG_SPL_XIP_SUPPORT is not set +# CONFIG_SPL_ONENAND_SUPPORT is not set +# CONFIG_SPL_OS_BOOT is not set +# CONFIG_SPL_PCI is not set +# CONFIG_SPL_PCH is not set +# CONFIG_SPL_POST_MEM_SUPPORT is not set +# CONFIG_SPL_DM_RESET is not set +# CONFIG_SPL_POWER is not set +# CONFIG_SPL_POWER_DOMAIN is not set +# CONFIG_SPL_RAM_DEVICE is not set +# CONFIG_SPL_REMOTEPROC is not set +# CONFIG_SPL_RTC is not set +# CONFIG_SPL_SATA is not set +# CONFIG_SPL_NVME is not set +CONFIG_SPL_SPI_FLASH_TINY=y +# CONFIG_SPL_SPI_FLASH_MTD is not set +CONFIG_SPL_SPI_LOAD=y +CONFIG_SYS_SPI_U_BOOT_OFFS=0xE0000 +# CONFIG_SPL_THERMAL is not set +# CONFIG_SPL_WATCHDOG is not set +# CONFIG_SPL_YMODEM_SUPPORT is not set +CONFIG_SPL_ATF=y +# CONFIG_SPL_ATF_LOAD_IMAGE_V2 is not set +CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y +# CONFIG_SPL_OPTEE_IMAGE is not set +CONFIG_SPL_TARGET="" +CONFIG_TPL=y + +# +# TPL configuration options +# +CONFIG_TPL_BINMAN_SYMBOLS=y +CONFIG_TPL_BINMAN_UBOOT_SYMBOLS=y +CONFIG_TPL_FRAMEWORK=y +CONFIG_TPL_BANNER_PRINT=y +# CONFIG_TPL_BOARD_INIT is not set +CONFIG_TPL_SYS_MALLOC_SIMPLE=y +CONFIG_TPL_SEPARATE_BSS=y +CONFIG_TPL_NEEDS_SEPARATE_STACK=y +# CONFIG_TPL_POWER is not set +CONFIG_TPL_BOOTROM_SUPPORT=y +# CONFIG_TPL_CRC32 is not set +# CONFIG_TPL_DRIVERS_MISC is not set +# CONFIG_TPL_ENV_SUPPORT is not set +CONFIG_TPL_GPIO=y +# CONFIG_TPL_I2C is not set +# CONFIG_TPL_MPC8XXX_INIT_DDR is not set +# CONFIG_TPL_MMC is not set +# CONFIG_TPL_NAND_SUPPORT is not set +# CONFIG_TPL_PCI is not set +# CONFIG_TPL_PCH is not set +# CONFIG_TPL_RAM_SUPPORT is not set +# CONFIG_TPL_RELOC_LOADER is not set +# CONFIG_TPL_RTC is not set +# CONFIG_TPL_SPI_FLASH_SUPPORT is not set +# CONFIG_TPL_SPI is not set +# CONFIG_TPL_DM_SPI is not set +# CONFIG_TPL_DM_SPI_FLASH is not set +# CONFIG_TPL_YMODEM_SUPPORT is not set +# CONFIG_VPL is not set +CONFIG_IMAGE_SIGN_INFO=y +CONFIG_SPL_IMAGE_SIGN_INFO=y +CONFIG_CMDLINE=y +CONFIG_HUSH_PARSER=y + +# +# Hush flavor to use +# +CONFIG_HUSH_OLD_PARSER=y +# CONFIG_HUSH_MODERN_PARSER is not set +CONFIG_CMDLINE_EDITING=y +# CONFIG_CMDLINE_PS_SUPPORT is not set +CONFIG_AUTO_COMPLETE=y +CONFIG_SYS_LONGHELP=y +CONFIG_SYS_PROMPT="=> " +CONFIG_SYS_PROMPT_HUSH_PS2="> " +CONFIG_SYS_MAXARGS=64 +CONFIG_SYS_XTRACE=y + +# +# Commands +# + +# +# Info commands +# +CONFIG_CMD_BDI=y +# CONFIG_CMD_BDINFO_EXTRA is not set +# CONFIG_CMD_CONFIG is not set +CONFIG_CMD_CONSOLE=y +# CONFIG_CMD_UFETCH is not set +# CONFIG_CMD_HISTORY is not set +# CONFIG_CMD_LICENSE is not set +# CONFIG_CMD_PMC is not set +# CONFIG_CMD_SMBIOS is not set + +# +# Boot commands +# +CONFIG_CMD_BOOTD=y +CONFIG_CMD_BOOTM=y +CONFIG_CMD_BOOTDEV=y +CONFIG_CMD_BOOTFLOW=y +CONFIG_CMD_BOOTFLOW_FULL=y +CONFIG_CMD_BOOTFLOW_BOOTDELAY=8 +CONFIG_CMD_BOOTMETH=y +CONFIG_CMD_BOOTSTD=y +CONFIG_BOOTM_EFI=y +CONFIG_BOOTM_ELF=y +CONFIG_CMD_BOOTZ=y +CONFIG_CMD_BOOTI=y +CONFIG_BOOTM_LINUX=y +CONFIG_BOOTM_NETBSD=y +# CONFIG_BOOTM_OPENRTOS is not set +# CONFIG_BOOTM_OSE is not set +CONFIG_BOOTM_PLAN9=y +CONFIG_BOOTM_RTEMS=y +# CONFIG_CMD_UPL is not set +CONFIG_CMD_VBE=y +CONFIG_BOOTM_VXWORKS=y +CONFIG_CMD_BOOTEFI=y +CONFIG_CMD_BOOTEFI_BINARY=y +CONFIG_CMD_BOOTEFI_BOOTMGR=y +CONFIG_CMD_BOOTEFI_HELLO=y +CONFIG_CMD_BOOTEFI_SELFTEST=y +CONFIG_CMD_BOOTMENU=y +# CONFIG_CMD_ADTIMG is not set +CONFIG_CMD_ELF=y +CONFIG_CMD_ELF_BOOTVX=y +# CONFIG_CMD_ELF_FDT_SETUP is not set +CONFIG_CMD_FDT=y +CONFIG_CMD_GO=y +CONFIG_CMD_RUN=y +CONFIG_CMD_IMI=y +CONFIG_CMD_XIMG=y +CONFIG_SYS_XIMG_LEN=0x800000 +# CONFIG_CMD_SPL is not set + +# +# Environment commands +# +# CONFIG_CMD_ASKENV is not set +CONFIG_CMD_EXPORTENV=y +CONFIG_CMD_IMPORTENV=y +CONFIG_CMD_EDITENV=y +# CONFIG_CMD_GREPENV is not set +CONFIG_CMD_SAVEENV=y +# CONFIG_CMD_ERASEENV is not set +CONFIG_CMD_ENV_EXISTS=y +# CONFIG_CMD_ENV_CALLBACK is not set +# CONFIG_CMD_ENV_FLAGS is not set +CONFIG_CMD_NVEDIT_EFI=y +# CONFIG_CMD_NVEDIT_INDIRECT is not set +# CONFIG_CMD_NVEDIT_INFO is not set +# CONFIG_CMD_NVEDIT_LOAD is not set +# CONFIG_CMD_NVEDIT_SELECT is not set + +# +# Memory commands +# +# CONFIG_CMD_BINOP is not set +CONFIG_CMD_BLOBLIST=y +CONFIG_CMD_CRC32=y +# CONFIG_CRC32_VERIFY is not set +# CONFIG_CMD_EEPROM is not set +CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=0 +# CONFIG_LOOPW is not set +# CONFIG_CMD_MD5SUM is not set +# CONFIG_CMD_MEMINFO is not set +CONFIG_CMD_MEMORY=y +# CONFIG_CMD_MEM_SEARCH is not set +# CONFIG_CMD_MX_CYCLIC is not set +CONFIG_CMD_RANDOM=y +# CONFIG_CMD_MEMTEST is not set +# CONFIG_CMD_SHA1SUM is not set +# CONFIG_CMD_STRINGS is not set + +# +# Compression commands +# +CONFIG_CMD_LZMADEC=y +CONFIG_CMD_UNLZ4=y +CONFIG_CMD_UNZIP=y +# CONFIG_CMD_ZIP is not set + +# +# Device access commands +# +# CONFIG_CMD_ADC is not set +# CONFIG_CMD_BCB is not set +# CONFIG_CMD_BIND is not set +# CONFIG_CMD_CLK is not set +# CONFIG_CMD_DEMO is not set +# CONFIG_CMD_DFU is not set +CONFIG_CMD_DM=y +# CONFIG_CMD_FUSE is not set +CONFIG_CMD_GPIO=y +# CONFIG_CMD_GPIO_READ is not set +# CONFIG_CMD_PWM is not set +CONFIG_CMD_GPT=y +# CONFIG_CMD_GPT_RENAME is not set +# CONFIG_CMD_IDE is not set +# CONFIG_CMD_IO is not set +# CONFIG_CMD_IOTRACE is not set +CONFIG_CMD_I2C=y +CONFIG_CMD_LOADB=y +# CONFIG_CMD_LOADM is not set +CONFIG_CMD_LOADS=y +# CONFIG_LOADS_ECHO is not set +# CONFIG_CMD_SAVES is not set +# CONFIG_SYS_LOADS_BAUD_CHANGE is not set +CONFIG_CMD_LOADXY_TIMEOUT=90 +# CONFIG_CMD_LSBLK is not set +# CONFIG_CMD_MBR is not set +# CONFIG_CMD_MISC is not set +CONFIG_CMD_MMC=y +# CONFIG_CMD_BKOPS_ENABLE is not set +# CONFIG_CMD_MMC_REG is not set +# CONFIG_CMD_MMC_SWRITE is not set +CONFIG_MMC_SPEED_MODE_SET=y +# CONFIG_CMD_CLONE is not set +# CONFIG_CMD_MTD is not set +# CONFIG_CMD_ONENAND is not set +CONFIG_CMD_PART=y +# CONFIG_CMD_PCI is not set +CONFIG_CMD_PINMUX=y +CONFIG_CMD_POWEROFF=y +# CONFIG_CMD_READ is not set +# CONFIG_CMD_SATA is not set +# CONFIG_CMD_SDRAM is not set +CONFIG_CMD_SF=y +CONFIG_CMD_SF_TEST=y +CONFIG_CMD_SPI=y +CONFIG_DEFAULT_SPI_BUS=0 +CONFIG_DEFAULT_SPI_MODE=0x0 +CONFIG_CMD_USB=y +# CONFIG_CMD_RKMTD is not set +# CONFIG_CMD_WRITE is not set + +# +# Shell scripting commands +# +# CONFIG_CMD_CAT is not set +CONFIG_CMD_ECHO=y +CONFIG_CMD_ITEST=y +CONFIG_CMD_SOURCE=y +# CONFIG_CMD_SETEXPR is not set +# CONFIG_CMD_XXD is not set +CONFIG_CMD_NET=y +CONFIG_CMD_BOOTP=y +# CONFIG_BOOTP_MAY_FAIL is not set +CONFIG_BOOTP_BOOTPATH=y +# CONFIG_BOOTP_VENDOREX is not set +# CONFIG_BOOTP_BOOTFILESIZE is not set +CONFIG_BOOTP_DNS=y +# CONFIG_BOOTP_DNS2 is not set +CONFIG_BOOTP_GATEWAY=y +CONFIG_BOOTP_HOSTNAME=y +# CONFIG_BOOTP_PREFER_SERVERIP is not set +CONFIG_BOOTP_SUBNETMASK=y +# CONFIG_BOOTP_NISDOMAIN is not set +# CONFIG_BOOTP_NTPSERVER is not set +# CONFIG_CMD_PCAP is not set +CONFIG_BOOTP_PXE=y +CONFIG_BOOTP_PXE_CLIENTARCH=0x16 +# CONFIG_BOOTP_PXE_DHCP_OPTION is not set +CONFIG_BOOTP_VCI_STRING="U-Boot.armv8" +# CONFIG_CMD_TFTPPUT is not set +# CONFIG_CMD_TFTPSRV is not set +CONFIG_NET_TFTP_VARS=y +# CONFIG_CMD_RARP is not set +# CONFIG_CMD_NFS is not set +# CONFIG_SYS_DISABLE_AUTOLOAD is not set +# CONFIG_CMD_CDP is not set +# CONFIG_CMD_SNTP is not set +# CONFIG_CMD_LINK_LOCAL is not set +# CONFIG_CMD_ETHSW is not set +# CONFIG_CMD_WOL is not set +CONFIG_CMD_DHCP=y +# CONFIG_CMD_DNS is not set +CONFIG_CMD_MII=y +CONFIG_CMD_MDIO=y +CONFIG_CMD_PING=y +CONFIG_CMD_TFTPBOOT=y +# CONFIG_CMD_WGET is not set +CONFIG_CMD_PXE=y + +# +# Misc commands +# +# CONFIG_CMD_2048 is not set +# CONFIG_CMD_BMP is not set +# CONFIG_CMD_BSP is not set +CONFIG_CMD_BLOCK_CACHE=y +# CONFIG_CMD_CACHE is not set +# CONFIG_CMD_CONITRACE is not set +CONFIG_CMD_CLS=y +CONFIG_CMD_EFIDEBUG=y +CONFIG_CMD_EFICONFIG=y +# CONFIG_CMD_EXCEPTION is not set +# CONFIG_CMD_INI is not set +# CONFIG_CMD_DATE is not set +CONFIG_CMD_TIME=y +# CONFIG_CMD_GETTIME is not set +# CONFIG_CMD_PAUSE is not set +# CONFIG_CMD_RNG is not set +# CONFIG_CMD_KASLRSEED is not set +CONFIG_CMD_SLEEP=y +# CONFIG_CMD_TIMER is not set +# CONFIG_CMD_SYSBOOT is not set +# CONFIG_CMD_QFW is not set +# CONFIG_CMD_PSTORE is not set +# CONFIG_CMD_TERMINAL is not set +# CONFIG_CMD_UUID is not set +CONFIG_CMD_VIDCONSOLE=y +# CONFIG_CMD_SELECT_FONT is not set + +# +# TI specific command line interface +# + +# +# Power commands +# +CONFIG_CMD_PMIC=y +CONFIG_CMD_REGULATOR=y + +# +# Security commands +# +# CONFIG_CMD_AES is not set +# CONFIG_CMD_BLOB is not set +# CONFIG_CMD_HASH is not set +# CONFIG_CMD_HVC is not set +# CONFIG_CMD_SMC is not set + +# +# Firmware commands +# +CONFIG_CMD_CROS_EC=y + +# +# Filesystem commands +# +# CONFIG_CMD_BTRFS is not set +# CONFIG_CMD_EROFS is not set +CONFIG_CMD_EXT2=y +CONFIG_CMD_EXT4=y +# CONFIG_CMD_EXT4_WRITE is not set +CONFIG_CMD_FAT=y +# CONFIG_CMD_SQUASHFS is not set +CONFIG_CMD_FS_GENERIC=y +# CONFIG_CMD_FS_UUID is not set +# CONFIG_CMD_JFFS2 is not set +# CONFIG_CMD_MTDPARTS is not set +CONFIG_MTDIDS_DEFAULT="" +CONFIG_MTDPARTS_DEFAULT="" +# CONFIG_CMD_ZFS is not set + +# +# Debug commands +# +CONFIG_CMD_CYCLIC=y +# CONFIG_CMD_DIAG is not set +# CONFIG_CMD_EVENT is not set +CONFIG_CMD_LOG=y +# CONFIG_CMD_UBI is not set + +# +# Partition Types +# +CONFIG_PARTITIONS=y +CONFIG_SPL_PARTITIONS=y +# CONFIG_MAC_PARTITION is not set +# CONFIG_SPL_MAC_PARTITION is not set +# CONFIG_TEGRA_PARTITION is not set +CONFIG_DOS_PARTITION=y +CONFIG_SPL_DOS_PARTITION=y +CONFIG_ISO_PARTITION=y +# CONFIG_SPL_ISO_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_SPL_AMIGA_PARTITION is not set +CONFIG_EFI_PARTITION=y +CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128 +CONFIG_EFI_PARTITION_ENTRIES_OFF=0 +CONFIG_SPL_EFI_PARTITION=y +CONFIG_PARTITION_UUIDS=y +CONFIG_SPL_PARTITION_UUIDS=y +CONFIG_PARTITION_TYPE_GUID=y +# CONFIG_SPL_PARTITION_TYPE_GUID is not set +CONFIG_SUPPORT_OF_CONTROL=y +CONFIG_PYLIBFDT=y +CONFIG_DTOC=y +CONFIG_BINMAN=y + +# +# Device Tree Control +# +CONFIG_OF_CONTROL=y +CONFIG_OF_REAL=y +CONFIG_SPL_OF_CONTROL=y +CONFIG_TPL_OF_CONTROL=y +CONFIG_OF_LIVE=y +CONFIG_OF_UPSTREAM=y +# CONFIG_OF_UPSTREAM_BUILD_VENDOR is not set +# CONFIG_OF_UPSTREAM_INCLUDE_LOCAL_FALLBACK_DTBOS is not set +CONFIG_OF_SEPARATE=y +# CONFIG_OF_EMBED is not set +# CONFIG_OF_INITIAL_DTB_READONLY is not set +# CONFIG_OF_BOARD is not set +# CONFIG_OF_OMIT_DTB is not set +CONFIG_DEVICE_TREE_INCLUDES="" +CONFIG_OF_LIST="rockchip/rk3399-gru-bob" +CONFIG_OF_OVERLAY_LIST="" +# CONFIG_MULTI_DTB_FIT is not set +# CONFIG_SPL_MULTI_DTB_FIT is not set +CONFIG_SPL_OF_LIST="rockchip/rk3399-gru-bob" +CONFIG_OF_TAG_MIGRATE=y +CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" +# CONFIG_OF_DTB_PROPS_REMOVE is not set +# CONFIG_SPL_OF_PLATDATA is not set +CONFIG_SPL_OF_REAL=y +CONFIG_TPL_OF_REAL=y +# CONFIG_TPL_OF_PLATDATA is not set + +# +# Environment +# +CONFIG_ENV_SUPPORT=y +CONFIG_ENV_CALLBACK_LIST_STATIC="" +CONFIG_SAVEENV=y +# CONFIG_ENV_OVERWRITE is not set +# CONFIG_OVERWRITE_ETHADDR_ONCE is not set +CONFIG_ENV_MIN_ENTRIES=64 +CONFIG_ENV_MAX_ENTRIES=512 +CONFIG_ENV_IS_DEFAULT=y +CONFIG_ENV_IS_NOWHERE=y +# CONFIG_ENV_IS_IN_EEPROM is not set +# CONFIG_ENV_IS_IN_FAT is not set +# CONFIG_ENV_IS_IN_EXT4 is not set +# CONFIG_ENV_IS_IN_FLASH is not set +# CONFIG_ENV_IS_IN_MMC is not set +# CONFIG_ENV_IS_IN_NAND is not set +# CONFIG_ENV_IS_IN_NVRAM is not set +# CONFIG_ENV_IS_IN_REMOTE is not set +# CONFIG_ENV_IS_IN_SPI_FLASH is not set +# CONFIG_SYS_REDUNDAND_ENVIRONMENT is not set +CONFIG_SYS_RELOC_GD_ENV_ADDR=y +# CONFIG_USE_DEFAULT_ENV_FILE is not set +# CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG is not set +# CONFIG_ENV_IMPORT_FDT is not set +# CONFIG_ENV_APPEND is not set +# CONFIG_ENV_WRITEABLE_LIST is not set +# CONFIG_ENV_ACCESS_IGNORE_FORCE is not set +# CONFIG_USE_BOOTFILE is not set +# CONFIG_USE_ETHPRIME is not set +# CONFIG_USE_HOSTNAME is not set +# CONFIG_VERSION_VARIABLE is not set + +# +# Networking +# +# CONFIG_NO_NET is not set +CONFIG_NET=y +# CONFIG_NET_LWIP is not set +CONFIG_ARP_TIMEOUT=5000 +CONFIG_NET_RETRY_COUNT=5 +# CONFIG_PROT_UDP is not set +# CONFIG_BOOTP_SEND_HOSTNAME is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_IP_DEFRAG is not set +# CONFIG_SYS_FAULT_ECHO_LINK_DOWN is not set +# CONFIG_TFTP_PORT is not set +CONFIG_TFTP_WINDOWSIZE=1 +# CONFIG_TFTP_TSIZE is not set +# CONFIG_SERVERIP_FROM_PROXYDHCP is not set +CONFIG_SERVERIP_FROM_PROXYDHCP_DELAY_MS=100 +# CONFIG_KEEP_SERVERADDR is not set +# CONFIG_UDP_CHECKSUM is not set +# CONFIG_BOOTP_SERVERIP is not set +CONFIG_BOOTP_MAX_ROOT_PATH_LEN=64 +# CONFIG_USE_GATEWAYIP is not set +# CONFIG_USE_IPADDR is not set +# CONFIG_USE_NETMASK is not set +# CONFIG_USE_ROOTPATH is not set +# CONFIG_USE_SERVERIP is not set +# CONFIG_PROT_TCP is not set +# CONFIG_IPV6 is not set +CONFIG_BOOTDEV_ETH=y +# CONFIG_NET_RANDOM_ETHADDR is not set +# CONFIG_WGET is not set +CONFIG_TFTP_BLOCKSIZE=1468 +CONFIG_SYS_RX_ETH_BUFFER=4 + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_DM=y +CONFIG_SPL_DM=y +CONFIG_TPL_DM=y +# CONFIG_DM_WARN is not set +# CONFIG_SPL_DM_WARN is not set +# CONFIG_DM_DEBUG is not set +# CONFIG_DM_STATS is not set +# CONFIG_SPL_DM_STATS is not set +CONFIG_DM_DEVICE_REMOVE=y +CONFIG_DM_EVENT=y +# CONFIG_SPL_DM_DEVICE_REMOVE is not set +CONFIG_DM_STDIO=y +CONFIG_DM_SEQ_ALIAS=y +CONFIG_SPL_DM_SEQ_ALIAS=y +# CONFIG_TPL_DM_SEQ_ALIAS is not set +CONFIG_SPL_DM_INLINE_OFNODE=y +CONFIG_TPL_DM_INLINE_OFNODE=y +# CONFIG_DM_DMA is not set +CONFIG_REGMAP=y +CONFIG_SPL_REGMAP=y +CONFIG_TPL_REGMAP=y +CONFIG_SYSCON=y +CONFIG_SPL_SYSCON=y +CONFIG_TPL_SYSCON=y +# CONFIG_DEVRES is not set +CONFIG_SIMPLE_BUS=y +CONFIG_SPL_SIMPLE_BUS=y +# CONFIG_TPL_SIMPLE_BUS is not set +# CONFIG_SIMPLE_BUS_CORRECT_RANGE is not set +CONFIG_OF_TRANSLATE=y +# CONFIG_SPL_OF_TRANSLATE is not set +# CONFIG_TPL_OF_TRANSLATE is not set +# CONFIG_TRANSLATION_OFFSET is not set +CONFIG_OFNODE_MULTI_TREE=y +CONFIG_OFNODE_MULTI_TREE_MAX=4 +CONFIG_BOUNCE_BUFFER=y +CONFIG_ADC=y +# CONFIG_SPL_ADC is not set +# CONFIG_ADC_EXYNOS is not set +# CONFIG_ADC_SANDBOX is not set +# CONFIG_SARADC_MESON is not set +CONFIG_SARADC_ROCKCHIP=y +# CONFIG_ADC_IMX93 is not set +# CONFIG_SATA is not set +# CONFIG_SCSI_AHCI is not set + +# +# SATA/SCSI device support +# +# CONFIG_AXI is not set + +# +# Bus devices +# +CONFIG_BLK=y +CONFIG_SPL_BLK=y +# CONFIG_TPL_BLK is not set +CONFIG_BLOCK_CACHE=y +# CONFIG_BLKMAP is not set +# CONFIG_SPL_BLOCK_CACHE is not set +# CONFIG_EFI_MEDIA is not set +# CONFIG_IDE is not set +# CONFIG_LBA48 is not set +# CONFIG_SYS_64BIT_LBA is not set +# CONFIG_RKMTD is not set +# CONFIG_BOOTCOUNT_LIMIT is not set + +# +# Button Support +# +# CONFIG_BUTTON is not set + +# +# Cache Controller drivers +# +# CONFIG_CACHE is not set +# CONFIG_L2X0_CACHE is not set +# CONFIG_ANDES_L2_CACHE is not set +# CONFIG_NCORE_CACHE is not set +# CONFIG_SIFIVE_CCACHE is not set +# CONFIG_SIFIVE_PL2 is not set + +# +# Clock +# +CONFIG_CLK=y +CONFIG_SPL_CLK=y +CONFIG_TPL_CLK=y +# CONFIG_SPL_CLK_CCF is not set +# CONFIG_CLK_CCF is not set +# CONFIG_CLK_GPIO is not set +# CONFIG_SPL_CLK_GPIO is not set +# CONFIG_CLK_STUB is not set +# CONFIG_CLK_CDCE9XX is not set +# CONFIG_CLK_ICS8N3QV01 is not set +# CONFIG_CLK_K210 is not set +# CONFIG_CLK_MPC83XX is not set +# CONFIG_CLK_XLNX_CLKWZRD is not set +# CONFIG_COMMON_CLK_ADI_SHARED is not set +# CONFIG_CLK_AT91 is not set +# CONFIG_CLK_RCAR is not set +# CONFIG_CLK_RCAR_CPG_LIB is not set +# CONFIG_CLK_SOPHGO_CV1800B is not set +# CONFIG_CLK_SIFIVE is not set +# CONFIG_CLK_TI_AM3_DPLL is not set +# CONFIG_CLK_TI_CTRL is not set +# CONFIG_CLK_TI_GATE is not set +# CONFIG_CLK_K3 is not set +# CONFIG_SPL_CLK_K3 is not set +# CONFIG_CPU is not set + +# +# Hardware crypto devices +# +# CONFIG_DM_HASH is not set +# CONFIG_FSL_CAAM is not set +CONFIG_CAAM_64BIT=y +# CONFIG_SYS_FSL_SEC_BE is not set +# CONFIG_SYS_FSL_SEC_LE is not set +# CONFIG_FSL_DCP_RNG is not set +# CONFIG_NPCM_AES is not set +# CONFIG_NPCM_SHA is not set +# CONFIG_DDR_SPD is not set +# CONFIG_IMX_SNPS_DDR_PHY is not set + +# +# Demo for driver model +# +# CONFIG_DM_DEMO is not set + +# +# DFU support +# + +# +# DMA Support +# +# CONFIG_DMA is not set +# CONFIG_DMA_LPC32XX is not set +# CONFIG_TI_EDMA3 is not set +# CONFIG_DMA_LEGACY is not set + +# +# Extcon Support +# +# CONFIG_EXTCON is not set + +# +# Fastboot support +# +# CONFIG_UDP_FUNCTION_FASTBOOT is not set +# CONFIG_TCP_FUNCTION_FASTBOOT is not set +CONFIG_FIRMWARE=y +# CONFIG_SPL_FIRMWARE is not set +CONFIG_ARM_PSCI_FW=y +# CONFIG_ZYNQMP_FIRMWARE is not set +# CONFIG_ARM_SMCCC_FEATURES is not set +# CONFIG_ARM_FFA_TRANSPORT is not set +# CONFIG_SCMI_FIRMWARE is not set +# CONFIG_DM_FUZZING_ENGINE is not set + +# +# FPGA support +# +# CONFIG_FPGA_ALTERA is not set +# CONFIG_FPGA_SOCFPGA is not set +# CONFIG_FPGA_LATTICE is not set +# CONFIG_FPGA_XILINX is not set +# CONFIG_DM_FPGA is not set +# CONFIG_FWU_MDATA is not set +CONFIG_GPIO=y +CONFIG_SPL_DM_GPIO=y +CONFIG_TPL_DM_GPIO=y +# CONFIG_GPIO_HOG is not set +# CONFIG_SPL_GPIO_HOG is not set +# CONFIG_DM_GPIO_LOOKUP_LABEL is not set +# CONFIG_SPL_DM_GPIO_LOOKUP_LABEL is not set +# CONFIG_ALTERA_PIO is not set +# CONFIG_BCM2835_GPIO is not set +# CONFIG_DWAPB_GPIO is not set +# CONFIG_AT91_GPIO is not set +# CONFIG_ATMEL_PIO4 is not set +# CONFIG_ASPEED_GPIO is not set +# CONFIG_ASPEED_SGPIO is not set +# CONFIG_ASPEED_G7_GPIO is not set +# CONFIG_DA8XX_GPIO is not set +# CONFIG_FXL6408_GPIO is not set +# CONFIG_HIKEY_GPIO is not set +# CONFIG_INTEL_BROADWELL_GPIO is not set +# CONFIG_INTEL_GPIO is not set +# CONFIG_INTEL_ICH6_GPIO is not set +# CONFIG_IMX_RGPIO2P is not set +# CONFIG_IPROC_GPIO is not set +# CONFIG_HSDK_CREG_GPIO is not set +# CONFIG_KIRKWOOD_GPIO is not set +# CONFIG_LPC32XX_GPIO is not set +# CONFIG_MAX7320_GPIO is not set +# CONFIG_MCP230XX_GPIO is not set +# CONFIG_MSM_GPIO is not set +# CONFIG_MXC_GPIO is not set +# CONFIG_MXS_GPIO is not set +# CONFIG_NPCM_GPIO is not set +# CONFIG_NPCM_SGPIO is not set +# CONFIG_CMD_PCA953X is not set +# CONFIG_PCF8575_GPIO is not set +CONFIG_ROCKCHIP_GPIO=y +# CONFIG_XILINX_GPIO is not set +# CONFIG_TCA642X is not set +# CONFIG_TEGRA_GPIO is not set +# CONFIG_TEGRA186_GPIO is not set +# CONFIG_VYBRID_GPIO is not set +# CONFIG_SIFIVE_GPIO is not set +# CONFIG_ZYNQ_GPIO is not set +# CONFIG_DM_74X164 is not set +# CONFIG_DM_PCA953X is not set +# CONFIG_SPL_DM_PCA953X is not set +# CONFIG_PCA953X is not set +# CONFIG_MPC8XXX_GPIO is not set +# CONFIG_MPC8XX_GPIO is not set +# CONFIG_NX_GPIO is not set +# CONFIG_NOMADIK_GPIO is not set +# CONFIG_SLG7XL45106_I2C_GPO is not set +# CONFIG_FTGPIO010 is not set +# CONFIG_ADP5585_GPIO is not set + +# +# Hardware Spinlock Support +# +# CONFIG_DM_HWSPINLOCK is not set +CONFIG_I2C=y +CONFIG_DM_I2C=y +CONFIG_SPL_DM_I2C=y +# CONFIG_TPL_DM_I2C is not set +CONFIG_I2C_CROS_EC_TUNNEL=y +# CONFIG_I2C_CROS_EC_LDO is not set +# CONFIG_I2C_SET_DEFAULT_BUS_NUM is not set +# CONFIG_DM_I2C_GPIO is not set +# CONFIG_SYS_I2C_IPROC is not set +# CONFIG_SYS_I2C_FSL is not set +# CONFIG_SYS_I2C_CADENCE is not set +# CONFIG_SYS_I2C_DW is not set +# CONFIG_SYS_I2C_INTEL is not set +# CONFIG_SYS_I2C_IMX_LPI2C is not set +# CONFIG_SYS_I2C_MTK is not set +# CONFIG_SYS_I2C_MICROCHIP is not set +# CONFIG_SYS_I2C_MXC is not set +# CONFIG_SYS_I2C_NEXELL is not set +# CONFIG_SYS_I2C_NPCM is not set +# CONFIG_SYS_I2C_OCORES is not set +CONFIG_SYS_I2C_ROCKCHIP=y +# CONFIG_SYS_I2C_SOFT is not set +# CONFIG_SYS_I2C_S3C24X0 is not set +# CONFIG_SYS_I2C_MV is not set +# CONFIG_SYS_I2C_MVTWSI is not set +# CONFIG_SYS_I2C_XILINX_XIIC is not set +# CONFIG_SYS_I2C_IHS is not set +CONFIG_I2C_MUX=y +# CONFIG_SPL_I2C_MUX is not set +# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_GPIO is not set +CONFIG_INPUT=y +# CONFIG_SPL_INPUT is not set +# CONFIG_TPL_INPUT is not set +CONFIG_DM_KEYBOARD=y +# CONFIG_SPL_DM_KEYBOARD is not set +# CONFIG_TPL_DM_KEYBOARD is not set +# CONFIG_APPLE_SPI_KEYB is not set +# CONFIG_BUTTON_KEYBOARD is not set +CONFIG_CROS_EC_KEYB=y +# CONFIG_I8042_KEYB is not set +# CONFIG_TEGRA_KEYBOARD is not set +# CONFIG_TWL4030_INPUT is not set + +# +# IOMMU device drivers +# +# CONFIG_IOMMU is not set + +# +# LED Support +# +# CONFIG_LED is not set +# CONFIG_LED_BOOT is not set +# CONFIG_LED_ACTIVITY is not set +# CONFIG_SPL_LED is not set +# CONFIG_LED_STATUS is not set + +# +# Mailbox Controller Support +# +# CONFIG_DM_MAILBOX is not set + +# +# Memory Controller drivers +# +# CONFIG_MEMORY is not set +# CONFIG_ATMEL_EBI is not set +# CONFIG_MFD_ATMEL_SMC is not set + +# +# Multifunction device drivers +# +CONFIG_MISC=y +CONFIG_SPL_MISC=y +CONFIG_TPL_MISC=y +# CONFIG_NVMEM is not set +# CONFIG_SPL_NVMEM is not set +# CONFIG_ALTERA_SYSID is not set +# CONFIG_ATSHA204A is not set +# CONFIG_GATEWORKS_SC is not set +CONFIG_ROCKCHIP_EFUSE=y +# CONFIG_ROCKCHIP_OTP is not set +CONFIG_ROCKCHIP_IODOMAIN=y +# CONFIG_SIFIVE_OTP is not set +# CONFIG_SMSC_LPC47M is not set +# CONFIG_SMSC_SIO1007 is not set +# CONFIG_VEXPRESS_CONFIG is not set +CONFIG_CROS_EC=y +# CONFIG_SPL_CROS_EC is not set +# CONFIG_TPL_CROS_EC is not set +# CONFIG_CROS_EC_I2C is not set +# CONFIG_CROS_EC_LPC is not set +# CONFIG_SPL_CROS_EC_LPC is not set +# CONFIG_TPL_CROS_EC_LPC is not set +CONFIG_CROS_EC_SPI=y +# CONFIG_DS4510 is not set +# CONFIG_FSL_SEC_MON is not set +# CONFIG_IRQ is not set +# CONFIG_NPCM_HOST is not set +# CONFIG_NUVOTON_NCT6102D is not set +CONFIG_PWRSEQ=y +# CONFIG_SPL_PWRSEQ is not set +# CONFIG_PCA9551_LED is not set +# CONFIG_TEST_DRV is not set +# CONFIG_TURRIS_OMNIA_MCU is not set +# CONFIG_USB_HUB_USB251XB is not set +# CONFIG_TWL4030_LED is not set +# CONFIG_WINBOND_W83627 is not set +# CONFIG_I2C_EEPROM is not set +# CONFIG_SPL_I2C_EEPROM is not set +# CONFIG_GDSYS_RXAUI_CTRL is not set +# CONFIG_GDSYS_IOEP is not set +# CONFIG_MPC83XX_SERDES is not set +# CONFIG_FS_LOADER is not set +# CONFIG_SPL_FS_LOADER is not set +# CONFIG_GDSYS_SOC is not set +# CONFIG_IHS_FPGA is not set +# CONFIG_MICROCHIP_FLEXCOM is not set +# CONFIG_ESM_PMIC is not set +# CONFIG_SL28CPLD is not set +# CONFIG_SPL_SOCFPGA_DT_REG is not set + +# +# MMC Host controller Support +# +CONFIG_MMC=y +CONFIG_MMC_WRITE=y +CONFIG_MMC_PWRSEQ=y +# CONFIG_MMC_BROKEN_CD is not set +CONFIG_DM_MMC=y +CONFIG_SPL_DM_MMC=y +# CONFIG_TPL_DM_MMC is not set +# CONFIG_MMC_SPI is not set +# CONFIG_ARM_PL180_MMCI is not set +CONFIG_MMC_QUIRKS=y +CONFIG_SYS_MMC_MAX_BLK_COUNT=65535 +CONFIG_MMC_HW_PARTITIONING=y +# CONFIG_SUPPORT_EMMC_RPMB is not set +# CONFIG_SUPPORT_EMMC_BOOT is not set +CONFIG_MMC_IO_VOLTAGE=y +CONFIG_MMC_SUPPORTS_TUNING=y +CONFIG_MMC_UHS_SUPPORT=y +CONFIG_MMC_HS400_ES_SUPPORT=y +CONFIG_MMC_HS400_SUPPORT=y +CONFIG_MMC_HS200_SUPPORT=y +CONFIG_MMC_VERBOSE=y +# CONFIG_MMC_TRACE is not set +CONFIG_MMC_DW=y +# CONFIG_MMC_DW_CORTINA is not set +# CONFIG_MMC_DW_K3 is not set +CONFIG_MMC_DW_ROCKCHIP=y +# CONFIG_MMC_DW_SNPS is not set +# CONFIG_MMC_MXC is not set +# CONFIG_MMC_PCI is not set +# CONFIG_MMC_OMAP_HS is not set +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_SDMA=y +# CONFIG_MMC_SDHCI_ADMA is not set +# CONFIG_MMC_SDHCI_ADMA_FORCE_32BIT is not set +CONFIG_MMC_SDHCI_ADMA_64BIT=y +# CONFIG_MMC_SDHCI_BCMSTB is not set +# CONFIG_MMC_SDHCI_CADENCE is not set +# CONFIG_MMC_SDHCI_CV1800B is not set +# CONFIG_MMC_SDHCI_IPROC is not set +# CONFIG_MMC_SDHCI_F_SDH30 is not set +# CONFIG_MMC_SDHCI_KONA is not set +# CONFIG_MMC_SDHCI_MSM is not set +# CONFIG_MMC_SDHCI_NPCM is not set +CONFIG_MMC_SDHCI_ROCKCHIP=y +# CONFIG_MMC_SDHCI_S5P is not set +# CONFIG_MMC_SDHCI_SNPS is not set +# CONFIG_MMC_SDHCI_STI is not set +# CONFIG_MMC_SDHCI_XENON is not set +# CONFIG_MMC_SDHCI_TANGIER is not set +# CONFIG_MMC_SDHCI_ZYNQ is not set +# CONFIG_MMC_PITON is not set +# CONFIG_STM32_SDMMC2 is not set +# CONFIG_FTSDC010 is not set +# CONFIG_FSL_ESDHC is not set +# CONFIG_FSL_ESDHC_IMX is not set + +# +# MTD Support +# +CONFIG_MTD=y +# CONFIG_DM_MTD is not set +# CONFIG_MTD_NOR_FLASH is not set +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_SYS_MTDPARTS_RUNTIME is not set +# CONFIG_FLASH_CFI_DRIVER is not set +# CONFIG_SAMSUNG_ONENAND is not set +# CONFIG_USE_SYS_MAX_FLASH_BANKS is not set +# CONFIG_MTD_RAW_NAND is not set + +# +# SPI Flash Support +# +CONFIG_DM_SPI_FLASH=y +CONFIG_SPI_FLASH=y +# CONFIG_BOOTDEV_SPI_FLASH is not set +# CONFIG_SPI_FLASH_SFDP_SUPPORT is not set +CONFIG_SPI_FLASH_SMART_HWCAPS=y +# CONFIG_SPI_NOR_BOOT_SOFT_RESET_EXT_INVERT is not set +# CONFIG_SPI_FLASH_SOFT_RESET is not set +# CONFIG_SPI_FLASH_BAR is not set +CONFIG_SPI_FLASH_LOCK=y +CONFIG_SPI_FLASH_UNLOCK_ALL=y +# CONFIG_SPI_FLASH_ATMEL is not set +# CONFIG_SPI_FLASH_EON is not set +CONFIG_SPI_FLASH_GIGADEVICE=y +# CONFIG_SPI_FLASH_ISSI is not set +# CONFIG_SPI_FLASH_MACRONIX is not set +# CONFIG_SPI_FLASH_PUYA is not set +# CONFIG_SPI_FLASH_SILICONKAISER is not set +# CONFIG_SPI_FLASH_SPANSION is not set +# CONFIG_SPI_FLASH_STMICRO is not set +# CONFIG_SPI_FLASH_SST is not set +CONFIG_SPI_FLASH_WINBOND=y +# CONFIG_SPI_FLASH_XMC is not set +# CONFIG_SPI_FLASH_XTX is not set +# CONFIG_SPI_FLASH_ZBIT is not set +CONFIG_SPI_FLASH_USE_4K_SECTORS=y +# CONFIG_SPI_FLASH_DATAFLASH is not set +# CONFIG_SPI_FLASH_MTD is not set + +# +# UBI support +# +# CONFIG_UBI_SILENCE_MSG is not set +# CONFIG_MTD_UBI is not set +# CONFIG_NVMXIP is not set +# CONFIG_NVMXIP_QSPI is not set + +# +# Multiplexer drivers +# +# CONFIG_MULTIPLEXER is not set +# CONFIG_BITBANGMII is not set +# CONFIG_MV88E6352_SWITCH is not set +CONFIG_PHYLIB=y +# CONFIG_PHY_ADDR_ENABLE is not set +CONFIG_PHY_ANEG_TIMEOUT=4000 +# CONFIG_B53_SWITCH is not set +# CONFIG_MV88E61XX_SWITCH is not set +# CONFIG_PHYLIB_10G is not set +# CONFIG_PHY_ADIN is not set +# CONFIG_PHY_AQUANTIA is not set +# CONFIG_PHY_ATHEROS is not set +# CONFIG_SPL_PHY_ATHEROS is not set +# CONFIG_PHY_BROADCOM is not set +# CONFIG_PHY_CORTINA is not set +# CONFIG_PHY_DAVICOM is not set +# CONFIG_PHY_ET1011C is not set +# CONFIG_PHY_LXT is not set +# CONFIG_PHY_MARVELL is not set +# CONFIG_PHY_MARVELL_10G is not set +# CONFIG_PHY_MESON_GXL is not set +# CONFIG_PHY_MICREL is not set +# CONFIG_PHY_MOTORCOMM is not set +# CONFIG_PHY_MSCC is not set +# CONFIG_PHY_NATSEMI is not set +# CONFIG_PHY_NXP_C45_TJA11XX is not set +# CONFIG_PHY_NXP_TJA11XX is not set +# CONFIG_PHY_REALTEK is not set +# CONFIG_PHY_SMSC is not set +# CONFIG_PHY_TERANETICS is not set +# CONFIG_PHY_TI is not set +# CONFIG_PHY_TI_DP83867 is not set +# CONFIG_PHY_TI_DP83869 is not set +# CONFIG_PHY_TI_GENERIC is not set +# CONFIG_PHY_VITESSE is not set +# CONFIG_PHY_XILINX is not set +# CONFIG_PHY_XILINX_GMII2RGMII is not set +# CONFIG_PHY_XWAY is not set +# CONFIG_PHY_ETHERNET_ID is not set +# CONFIG_PHY_FIXED is not set +# CONFIG_PHY_NCSI is not set +# CONFIG_FSL_MEMAC is not set +CONFIG_PHY_RESET_DELAY=0 +# CONFIG_FSL_PFE is not set +CONFIG_ETH=y +CONFIG_DM_ETH=y +# CONFIG_DM_MDIO is not set +# CONFIG_DM_ETH_PHY is not set +CONFIG_NETDEVICES=y +CONFIG_PHY_GIGE=y +# CONFIG_ALTERA_TSE is not set +# CONFIG_BCM_SF2_ETH is not set +# CONFIG_BCMGENET is not set +# CONFIG_BNXT_ETH is not set +# CONFIG_CALXEDA_XGMAC is not set +# CONFIG_DWC_ETH_XGMAC is not set +# CONFIG_DRIVER_DM9000 is not set +# CONFIG_DWC_ETH_QOS is not set +# CONFIG_EEPRO100 is not set +CONFIG_ETH_DESIGNWARE=y +# CONFIG_ETH_DESIGNWARE_MESON8B is not set +# CONFIG_ETH_DESIGNWARE_SOCFPGA is not set +# CONFIG_ETH_DESIGNWARE_S700 is not set +# CONFIG_DW_ALTDESCRIPTOR is not set +# CONFIG_ETHOC is not set +# CONFIG_FMAN_ENET is not set +# CONFIG_FTMAC100 is not set +# CONFIG_FTGMAC100 is not set +# CONFIG_MCFFEC is not set +# CONFIG_KS8851_MLL is not set +# CONFIG_LITEETH is not set +# CONFIG_MACB is not set +# CONFIG_NET_NPCM750 is not set +# CONFIG_PCH_GBE is not set +# CONFIG_RGMII is not set +# CONFIG_MII is not set +# CONFIG_RMII is not set +# CONFIG_PCNET is not set +# CONFIG_QE_UEC is not set +# CONFIG_RTL8139 is not set +# CONFIG_SMC911X is not set +# CONFIG_SUN7I_GMAC is not set +# CONFIG_SUN4I_EMAC is not set +# CONFIG_SUN8I_EMAC is not set +# CONFIG_SH_ETHER is not set +# CONFIG_DRIVER_TI_CPSW is not set +# CONFIG_DRIVER_TI_EMAC is not set +# CONFIG_DRIVER_TI_KEYSTONE_NET is not set +# CONFIG_TULIP is not set +# CONFIG_XILINX_AXIEMAC is not set +# CONFIG_VSC7385_ENET is not set +# CONFIG_XILINX_EMACLITE is not set +# CONFIG_ZYNQ_GEM is not set +CONFIG_GMAC_ROCKCHIP=y +# CONFIG_SYS_DPAA_QBMAN is not set +# CONFIG_TSEC_ENET is not set +# CONFIG_MEDIATEK_ETH is not set +# CONFIG_HIFEMAC_ETH is not set +# CONFIG_HIGMACV300_ETH is not set +# CONFIG_NVME is not set +# CONFIG_NVME_APPLE is not set + +# +# PCI Endpoint +# +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_X86_PCH7 is not set +# CONFIG_X86_PCH9 is not set + +# +# PHY Subsystem +# +CONFIG_PHY=y +# CONFIG_SPL_PHY is not set +# CONFIG_NOP_PHY is not set +# CONFIG_MIPI_DPHY_HELPERS is not set +# CONFIG_BCM_SR_PCIE_PHY is not set +# CONFIG_OMAP_USB2_PHY is not set + +# +# Rockchip PHY driver +# +# CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY is not set +# CONFIG_PHY_ROCKCHIP_INNO_HDMI is not set +CONFIG_PHY_ROCKCHIP_INNO_USB2=y +# CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY is not set +# CONFIG_PHY_ROCKCHIP_PCIE is not set +# CONFIG_PHY_ROCKCHIP_SNPS_PCIE3 is not set +# CONFIG_PHY_ROCKCHIP_USBDP is not set +CONFIG_PHY_ROCKCHIP_TYPEC=y +# CONFIG_PHY_CADENCE_SIERRA is not set +# CONFIG_PHY_CADENCE_TORRENT is not set +# CONFIG_MSM8916_USB_PHY is not set +# CONFIG_MVEBU_COMPHY_SUPPORT is not set + +# +# Pin controllers +# +CONFIG_PINCTRL=y +CONFIG_PINCTRL_FULL=y +CONFIG_PINCTRL_GENERIC=y +CONFIG_PINMUX=y +# CONFIG_PINCONF is not set +CONFIG_PINCONF_RECURSIVE=y +CONFIG_SPL_PINCTRL=y +# CONFIG_TPL_PINCTRL is not set +CONFIG_SPL_PINCTRL_FULL=y +CONFIG_SPL_PINCTRL_GENERIC=y +CONFIG_SPL_PINMUX=y +# CONFIG_SPL_PINCONF is not set +CONFIG_SPL_PINCONF_RECURSIVE=y +# CONFIG_PINCTRL_AT91 is not set +# CONFIG_PINCTRL_AT91PIO4 is not set +# CONFIG_PINCTRL_INTEL is not set +# CONFIG_PINCTRL_QE is not set +# CONFIG_PINCTRL_ROCKCHIP_RV1108 is not set +# CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_STM32 is not set +# CONFIG_PINCTRL_STMFX is not set +# CONFIG_SPL_PINCTRL_STMFX is not set +# CONFIG_PINCTRL_K210 is not set +CONFIG_PINCTRL_ROCKCHIP=y +CONFIG_SPL_PINCTRL_ROCKCHIP=y +# CONFIG_PINCTRL_TEGRA is not set +# CONFIG_SPL_PINCTRL_TEGRA is not set +CONFIG_POWER=y +# CONFIG_POWER_LEGACY is not set +# CONFIG_ACPI_PMC is not set +# CONFIG_SPL_ACPI_PMC is not set +# CONFIG_TPL_ACPI_PMC is not set + +# +# Power Domain Support +# +# CONFIG_POWER_DOMAIN is not set +CONFIG_DM_PMIC=y +CONFIG_SPL_DM_PMIC=y +CONFIG_PMIC_CHILDREN=y +CONFIG_SPL_PMIC_CHILDREN=y +# CONFIG_PMIC_AB8500 is not set +# CONFIG_PMIC_ACT8846 is not set +# CONFIG_PMIC_AXP is not set +# CONFIG_SPL_PMIC_AXP is not set +# CONFIG_DM_PMIC_DA9063 is not set +# CONFIG_SPL_DM_PMIC_DA9063 is not set +# CONFIG_PMIC_AS3722 is not set +# CONFIG_DM_PMIC_BD71837 is not set +# CONFIG_SPL_DM_PMIC_BD71837 is not set +# CONFIG_DM_PMIC_FAN53555 is not set +# CONFIG_DM_PMIC_MP5416 is not set +# CONFIG_SPL_DM_PMIC_MP5416 is not set +# CONFIG_DM_PMIC_PCA9450 is not set +# CONFIG_SPL_DM_PMIC_PCA9450 is not set +# CONFIG_DM_PMIC_PFUZE100 is not set +# CONFIG_SPL_DM_PMIC_PFUZE100 is not set +# CONFIG_DM_PMIC_MAX77663 is not set +# CONFIG_DM_PMIC_MAX77686 is not set +# CONFIG_DM_PMIC_MAX8998 is not set +# CONFIG_DM_PMIC_MC34708 is not set +# CONFIG_PMIC_MAX8997 is not set +# CONFIG_PMIC_QCOM is not set +CONFIG_PMIC_RK8XX=y +# CONFIG_SPL_PMIC_RK8XX is not set +# CONFIG_PMIC_S2MPS11 is not set +# CONFIG_DM_PMIC_SANDBOX is not set +# CONFIG_PMIC_S5M8767 is not set +# CONFIG_PMIC_RN5T567 is not set +# CONFIG_SPL_PMIC_RN5T567 is not set +# CONFIG_PMIC_TPS65090 is not set +# CONFIG_PMIC_PALMAS is not set +# CONFIG_PMIC_LP873X is not set +# CONFIG_PMIC_LP87565 is not set +# CONFIG_DM_PMIC_TPS65910 is not set +# CONFIG_DM_PMIC_TPS80031 is not set +# CONFIG_PMIC_STPMIC1 is not set +# CONFIG_SPL_PMIC_PALMAS is not set +# CONFIG_SPL_PMIC_LP873X is not set +# CONFIG_SPL_PMIC_LP87565 is not set +# CONFIG_PMIC_TPS65941 is not set +# CONFIG_PMIC_TPS65219 is not set +# CONFIG_PMIC_RAA215300 is not set +# CONFIG_PMIC_TPS65217 is not set +# CONFIG_POWER_TPS65218 is not set +# CONFIG_POWER_TPS62362 is not set +# CONFIG_SPL_POWER_TPS62362 is not set +# CONFIG_SPL_POWER_TPS65910 is not set +CONFIG_DM_REGULATOR=y +CONFIG_REGULATOR_PWM=y +# CONFIG_SPL_REGULATOR_PWM is not set +CONFIG_DM_REGULATOR_COMMON=y +CONFIG_SPL_DM_REGULATOR_COMMON=y +CONFIG_DM_REGULATOR_FIXED=y +CONFIG_SPL_DM_REGULATOR_FIXED=y +CONFIG_DM_REGULATOR_GPIO=y +# CONFIG_SPL_DM_REGULATOR_GPIO is not set +CONFIG_REGULATOR_RK8XX=y +# CONFIG_DM_REGULATOR_PBIAS is not set +# CONFIG_DM_REGULATOR_TPS62360 is not set +# CONFIG_DM_REGULATOR_TPS6287X is not set +# CONFIG_DM_REGULATOR_ANATOP is not set +# CONFIG_DM_REGULATOR_SCMI is not set +# CONFIG_TPS6586X_POWER is not set +# CONFIG_POWER_MT6323 is not set +CONFIG_DM_PWM=y +# CONFIG_PWM_ASPEED is not set +# CONFIG_PWM_CADENCE_TTC is not set +CONFIG_PWM_CROS_EC=y +# CONFIG_PWM_EXYNOS is not set +# CONFIG_PWM_IMX is not set +# CONFIG_PWM_MESON is not set +# CONFIG_PWM_MTK is not set +CONFIG_PWM_ROCKCHIP=y +# CONFIG_PWM_SANDBOX is not set +# CONFIG_PWM_SIFIVE is not set +# CONFIG_PWM_TEGRA is not set +# CONFIG_PWM_SUNXI is not set +# CONFIG_U_QE is not set +CONFIG_RAM=y +CONFIG_SPL_RAM=y +CONFIG_TPL_RAM=y +# CONFIG_STM32_SDRAM is not set +# CONFIG_MPC83XX_SDRAM is not set +# CONFIG_K3_DDRSS is not set +# CONFIG_IMXRT_SDRAM is not set +# CONFIG_CADENCE_DDR_CTRL is not set +CONFIG_RAM_ROCKCHIP=y +CONFIG_ROCKCHIP_SDRAM_COMMON=y +CONFIG_RAM_ROCKCHIP_DEBUG=y +# CONFIG_RAM_ROCKCHIP_DDR4 is not set +# CONFIG_RAM_ROCKCHIP_LPDDR2 is not set +# CONFIG_RAM_ROCKCHIP_LPDDR3 is not set +# CONFIG_RAM_ROCKCHIP_LPDDR4 is not set + +# +# Reboot Mode Support +# +# CONFIG_DM_REBOOT_MODE is not set + +# +# Remote Processor drivers +# +CONFIG_REMOTEPROC_MAX_FW_SIZE=0x10000 + +# +# Reset Controller Support +# +# CONFIG_RESET_AST2500 is not set +# CONFIG_RESET_AST2600 is not set +CONFIG_RESET_ROCKCHIP=y +# CONFIG_RESET_HISILICON is not set +# CONFIG_RESET_SYSCON is not set +# CONFIG_RESET_SCMI is not set +# CONFIG_RESET_DRA7 is not set +CONFIG_DM_RNG=y +# CONFIG_SPL_DM_RNG is not set +# CONFIG_RNG_MSM is not set +# CONFIG_RNG_NPCM is not set +CONFIG_RNG_ROCKCHIP=y +# CONFIG_RNG_IPROC200 is not set +# CONFIG_RNG_SMCCC_TRNG is not set +# CONFIG_RNG_ARM_RNDR is not set +# CONFIG_RNG_EXYNOS is not set + +# +# Real Time Clock +# +# CONFIG_DM_RTC is not set +# CONFIG_SPL_DM_RTC is not set +# CONFIG_TPL_DM_RTC is not set +# CONFIG_RTC_ENABLE_32KHZ_OUTPUT is not set +# CONFIG_RTC_DS1337 is not set +# CONFIG_RTC_DS1338 is not set +# CONFIG_RTC_DS1374 is not set +# CONFIG_RTC_DS3231 is not set +# CONFIG_RTC_PCF8563 is not set +# CONFIG_RTC_PT7C4338 is not set +# CONFIG_RTC_S35392A is not set +# CONFIG_RTC_MC13XXX is not set +# CONFIG_RTC_MC146818 is not set +# CONFIG_RTC_M41T62 is not set +# CONFIG_SCSI is not set +CONFIG_SERIAL=y +CONFIG_BAUDRATE=115200 +# CONFIG_DEFAULT_ENV_IS_RW is not set +CONFIG_REQUIRE_SERIAL_CONSOLE=y +# CONFIG_SPECIFY_CONSOLE_INDEX is not set +CONFIG_SERIAL_PRESENT=y +CONFIG_SPL_SERIAL_PRESENT=y +CONFIG_TPL_SERIAL_PRESENT=y +CONFIG_DM_SERIAL=y +# CONFIG_SERIAL_RX_BUFFER is not set +# CONFIG_SERIAL_PUTS is not set +# CONFIG_SERIAL_SEARCH_ALL is not set +# CONFIG_SERIAL_PROBE_ALL is not set +CONFIG_SPL_DM_SERIAL=y +CONFIG_TPL_DM_SERIAL=y +# CONFIG_VPL_DM_SERIAL is not set +CONFIG_DEBUG_UART_NS16550=y +CONFIG_SPL_DEBUG_UART_BASE=0xff1a0000 +CONFIG_TPL_DEBUG_UART_BASE=0xff1a0000 +CONFIG_DEBUG_UART_SHIFT=2 +# CONFIG_DEBUG_UART_ANNOUNCE is not set +# CONFIG_DEBUG_UART_SKIP_INIT is not set +# CONFIG_DEBUG_UART_NS16550_CHECK_ENABLED is not set +# CONFIG_ALTERA_JTAG_UART is not set +# CONFIG_ALTERA_UART is not set +# CONFIG_ARC_SERIAL is not set +# CONFIG_ARM_DCC is not set +# CONFIG_ATMEL_USART is not set +# CONFIG_BCM6345_SERIAL is not set +# CONFIG_COREBOOT_SERIAL is not set +# CONFIG_CORTINA_UART is not set +# CONFIG_FSL_LINFLEXUART is not set +# CONFIG_FSL_LPUART is not set +# CONFIG_MVEBU_A3700_UART is not set +# CONFIG_MCFUART is not set +# CONFIG_NULLDEV_SERIAL is not set +CONFIG_SYS_NS16550=y +# CONFIG_NS16550_DYNAMIC is not set +CONFIG_SYS_NS16550_MEM32=y +# CONFIG_SYS_NS16550_PORT_MAPPED is not set +# CONFIG_PL01X_SERIAL is not set +# CONFIG_ROCKCHIP_SERIAL is not set +# CONFIG_XILINX_UARTLITE is not set +# CONFIG_MSM_SERIAL is not set +# CONFIG_MSM_GENI_SERIAL is not set +# CONFIG_MXS_AUART_SERIAL is not set +# CONFIG_OMAP_SERIAL is not set +# CONFIG_HTIF_CONSOLE is not set +# CONFIG_SIFIVE_SERIAL is not set +# CONFIG_ZYNQ_SERIAL is not set +# CONFIG_MTK_SERIAL is not set +# CONFIG_MT7620_SERIAL is not set +# CONFIG_NPCM_SERIAL is not set +# CONFIG_SM is not set +# CONFIG_MESON_SM is not set +# CONFIG_SMEM is not set + +# +# Sound support +# +# CONFIG_SOUND is not set + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_DEVICE is not set +# CONFIG_SOC_QCOM is not set +# CONFIG_SOC_SAMSUNG is not set +# CONFIG_SOC_TI is not set +CONFIG_SPI=y +CONFIG_DM_SPI=y +CONFIG_SPI_MEM=y +# CONFIG_SPI_DIRMAP is not set +# CONFIG_ALTERA_SPI is not set +# CONFIG_APPLE_SPI is not set +# CONFIG_ATCSPI200_SPI is not set +# CONFIG_CORTINA_SFLASH is not set +# CONFIG_CADENCE_QSPI is not set +# CONFIG_CV1800B_SPIF is not set +# CONFIG_DESIGNWARE_SPI is not set +# CONFIG_FSL_QSPI is not set +# CONFIG_GXP_SPI is not set +# CONFIG_IPROC_QSPI is not set +# CONFIG_MICROCHIP_COREQSPI is not set +# CONFIG_MTK_SNOR is not set +# CONFIG_MTK_SNFI_SPI is not set +# CONFIG_MTK_SPIM is not set +# CONFIG_MVEBU_A3700_SPI is not set +# CONFIG_SPI_MXIC is not set +# CONFIG_NPCM_FIU_SPI is not set +# CONFIG_NPCM_PSPI is not set +# CONFIG_NXP_FSPI is not set +# CONFIG_OMAP3_SPI is not set +# CONFIG_PL022_SPI is not set +# CONFIG_ROCKCHIP_SFC is not set +CONFIG_ROCKCHIP_SPI=y +# CONFIG_SPI_ASPEED_SMC is not set +# CONFIG_SPI_SIFIVE is not set +# CONFIG_SOFT_SPI is not set +# CONFIG_SPI_SN_F_OSPI is not set +# CONFIG_SPI_SUNXI is not set +# CONFIG_XILINX_SPI is not set +# CONFIG_ZYNQ_SPI is not set +# CONFIG_ZYNQ_QSPI is not set +# CONFIG_ZYNQMP_GQSPI is not set +# CONFIG_SPI_STACKED_PARALLEL is not set + +# +# SPMI support +# +# CONFIG_SPMI is not set +# CONFIG_SYSINFO is not set + +# +# System reset device drivers +# +CONFIG_SYSRESET=y +CONFIG_SPL_SYSRESET=y +CONFIG_TPL_SYSRESET=y +CONFIG_SYSRESET_CMD_RESET=y +CONFIG_SYSRESET_CMD_POWEROFF=y +# CONFIG_SYSRESET_CV1800B is not set +# CONFIG_POWEROFF_GPIO is not set +# CONFIG_SYSRESET_GPIO is not set +# CONFIG_SYSRESET_PSCI is not set +# CONFIG_SYSRESET_SYSCON is not set +# CONFIG_SYSRESET_WATCHDOG is not set +# CONFIG_SYSRESET_RESETCTL is not set +# CONFIG_SYSRESET_MPC83XX is not set +# CONFIG_TEE is not set +# CONFIG_DM_THERMAL is not set + +# +# Timer Support +# +# CONFIG_TIMER is not set + +# +# TPM support +# +CONFIG_USB=y +CONFIG_DM_USB=y +CONFIG_SPL_DM_USB=y +# CONFIG_DM_USB_GADGET is not set +# CONFIG_SPL_DM_USB_GADGET is not set + +# +# USB Host Controller Drivers +# +CONFIG_USB_HOST=y +# CONFIG_SPL_USB_HOST is not set +CONFIG_USB_XHCI_HCD=y +# CONFIG_USB_XHCI_DWC3 is not set +# CONFIG_USB_XHCI_DWC3_OF_SIMPLE is not set +# CONFIG_USB_XHCI_GENERIC is not set +# CONFIG_USB_XHCI_FSL is not set +# CONFIG_USB_XHCI_BRCM is not set +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_MSM is not set +# CONFIG_USB_EHCI_PCI is not set +# CONFIG_USB_EHCI_ZYNQ is not set +CONFIG_USB_EHCI_GENERIC=y +# CONFIG_USB_EHCI_FSL is not set +CONFIG_USB_OHCI_NEW=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_GENERIC=y +# CONFIG_USB_OHCI_DA8XX is not set +# CONFIG_SYS_OHCI_SWAP_REG_ACCESS is not set +# CONFIG_USB_UHCI_HCD is not set +# CONFIG_USB_DWC2 is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_ISP1760 is not set +# CONFIG_USB_CDNS3 is not set +CONFIG_USB_DWC3=y + +# +# Platform Glue Driver Support +# +# CONFIG_USB_DWC3_OMAP is not set +CONFIG_USB_DWC3_GENERIC=y +# CONFIG_SPL_USB_DWC3_GENERIC is not set +# CONFIG_USB_DWC3_AM62 is not set +# CONFIG_USB_DWC3_LAYERSCAPE is not set +# CONFIG_USB_DWC3_STI is not set + +# +# PHY Subsystem +# +# CONFIG_USB_DWC3_PHY_OMAP is not set +# CONFIG_USB_DWC3_PHY_SAMSUNG is not set + +# +# Legacy MUSB Support +# +# CONFIG_USB_MUSB_HCD is not set +# CONFIG_USB_MUSB_UDC is not set + +# +# MUSB Controller Driver +# +# CONFIG_USB_MUSB_HOST is not set +# CONFIG_USB_MUSB_PIO_ONLY is not set + +# +# USB Phy +# +# CONFIG_TWL4030_USB is not set +# CONFIG_ROCKCHIP_USB2_PHY is not set +# CONFIG_TYPEC_TCPM is not set + +# +# ULPI drivers +# + +# +# USB peripherals +# +CONFIG_USB_STORAGE=y +CONFIG_USB_KEYBOARD=y +# CONFIG_USB_ONBOARD_HUB is not set +CONFIG_USB_HUB_DEBOUNCE_TIMEOUT=1000 +CONFIG_USB_KEYBOARD_FN_KEYS=y +CONFIG_SYS_USB_EVENT_POLL=y +# CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE is not set +# CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP is not set +CONFIG_USB_HOST_ETHER=y +CONFIG_USB_ETHER_ASIX=y +CONFIG_USB_ETHER_ASIX88179=y +# CONFIG_USB_ETHER_LAN75XX is not set +# CONFIG_USB_ETHER_LAN78XX is not set +CONFIG_USB_ETHER_MCS7830=y +CONFIG_USB_ETHER_RTL8152=y +CONFIG_USB_ETHER_SMSC95XX=y +# CONFIG_USB_GADGET is not set +# CONFIG_SPL_USB_GADGET is not set + +# +# UFS Host Controller Support +# +# CONFIG_TI_J721E_UFS is not set + +# +# Graphics support +# +CONFIG_VIDEO=y +# CONFIG_VIDEO_FONT_4X6 is not set +CONFIG_VIDEO_FONT_8X16=y +# CONFIG_VIDEO_FONT_SUN12X22 is not set +# CONFIG_VIDEO_FONT_16X32 is not set +CONFIG_VIDEO_LOGO=y +CONFIG_BACKLIGHT=y +CONFIG_VIDEO_PCI_DEFAULT_FB_SIZE=0x0 +# CONFIG_VIDEO_COPY is not set +CONFIG_VIDEO_DAMAGE=y +CONFIG_BACKLIGHT_PWM=y +# CONFIG_BACKLIGHT_GPIO is not set +CONFIG_VIDEO_BPP8=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_VIDEO_ANSI=y +# CONFIG_VIDEO_MIPI_DSI is not set +CONFIG_CONSOLE_NORMAL=y +# CONFIG_CONSOLE_ROTATION is not set +# CONFIG_CONSOLE_TRUETYPE is not set +CONFIG_SYS_WHITE_ON_BLACK=y +# CONFIG_NO_FB_CLEAR is not set +CONFIG_VIDEO_SYNC_MS=100 +CONFIG_VIDEO_SYNC_CYCLIC_MS=10 +CONFIG_PANEL=y +CONFIG_SIMPLE_PANEL=y +# CONFIG_PANEL_HX8238D is not set + +# +# TrueType Fonts +# +# CONFIG_VIDCONSOLE_AS_LCD is not set +# CONFIG_VIDEO_BOCHS is not set +# CONFIG_VIDEO_VESA is not set +# CONFIG_VIDEO_LCD_ANX9804 is not set +# CONFIG_ATMEL_LCD_BGR555 is not set +# CONFIG_VIDEO_BCM2835 is not set +# CONFIG_VIDEO_LCD_ENDEAVORU is not set +# CONFIG_VIDEO_LCD_HIMAX_HX8394 is not set +# CONFIG_VIDEO_LCD_ORISETECH_OTM8009A is not set +# CONFIG_VIDEO_LCD_LG_LD070WX3 is not set +# CONFIG_VIDEO_LCD_RAYDIUM_RM68200 is not set +# CONFIG_VIDEO_LCD_RENESAS_R61307 is not set +# CONFIG_VIDEO_LCD_RENESAS_R69328 is not set +# CONFIG_VIDEO_LCD_SAMSUNG_LTL106HL02 is not set +# CONFIG_VIDEO_LCD_SHARP_LQ101R1SX01 is not set +# CONFIG_VIDEO_LCD_SSD2828 is not set +# CONFIG_VIDEO_LCD_TDO_TL070WSH30 is not set +# CONFIG_VIDEO_LCD_HITACHI_TX18D42VM is not set +# CONFIG_VIDEO_MESON is not set +# CONFIG_VIDEO_MVEBU is not set +CONFIG_I2C_EDID=y +CONFIG_DISPLAY=y +# CONFIG_NXP_TDA19988 is not set +# CONFIG_ATMEL_HLCD is not set +# CONFIG_BACKLIGHT_LM3533 is not set +# CONFIG_AM335X_LCD is not set +# CONFIG_VIDEO_EXYNOS is not set +# CONFIG_LOGICORE_DP_TX is not set +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_VIDEO_ROCKCHIP_MAX_XRES=1280 +CONFIG_VIDEO_ROCKCHIP_MAX_YRES=800 +CONFIG_DISPLAY_ROCKCHIP_EDP=y +# CONFIG_DISPLAY_ROCKCHIP_LVDS is not set +# CONFIG_DISPLAY_ROCKCHIP_HDMI is not set +# CONFIG_DISPLAY_ROCKCHIP_MIPI is not set +# CONFIG_DISPLAY_ROCKCHIP_DW_MIPI is not set +# CONFIG_VIDEO_ARM_MALIDP is not set +# CONFIG_VIDEO_STM32 is not set +# CONFIG_VIDEO_TIDSS is not set +# CONFIG_VIDEO_TEGRA124 is not set +# CONFIG_VIDEO_BRIDGE is not set +# CONFIG_VIDEO_BRIDGE_PARADE_DP501 is not set +# CONFIG_VIDEO_BRIDGE_SOLOMON_SSD2825 is not set +# CONFIG_VIDEO_BRIDGE_TOSHIBA_TC358768 is not set +# CONFIG_VIDEO_TEGRA20 is not set +# CONFIG_VIDEO_DSI_TEGRA30 is not set +# CONFIG_TEGRA_BACKLIGHT_PWM is not set +# CONFIG_VIDEO_MXS is not set +# CONFIG_VIDEO_SEPS525 is not set +CONFIG_CONSOLE_SCROLL_LINES=1 +# CONFIG_VIDEO_SIMPLE is not set +# CONFIG_VIDEO_DT_SIMPLEFB is not set +# CONFIG_VIDEO_MCDE_SIMPLE is not set +# CONFIG_OSD is not set +# CONFIG_VIDEO_REMOVE is not set +# CONFIG_SPLASH_SCREEN is not set +# CONFIG_BMP is not set +CONFIG_VIDEO_LOGO_MAX_SIZE=0x100000 +CONFIG_VIDEO_BMP_RLE8=y +# CONFIG_BMP_16BPP is not set +# CONFIG_BMP_24BPP is not set +# CONFIG_BMP_32BPP is not set +# CONFIG_SPL_VIDEO is not set + +# +# VirtIO Drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# 1-Wire support +# +# CONFIG_W1 is not set + +# +# 1-wire EEPROM support +# +# CONFIG_W1_EEPROM is not set + +# +# Watchdog Timer Support +# +# CONFIG_WATCHDOG is not set +# CONFIG_IMX_WATCHDOG is not set +# CONFIG_ULP_WATCHDOG is not set +# CONFIG_WDT is not set +# CONFIG_SPL_WDT is not set +# CONFIG_PHYS_TO_BUS is not set + +# +# File systems +# +# CONFIG_FS_BTRFS is not set +# CONFIG_FS_CBFS is not set +# CONFIG_SPL_FS_CBFS is not set +CONFIG_FS_EXT4=y +# CONFIG_EXT4_WRITE is not set +CONFIG_FS_FAT=y +CONFIG_FAT_WRITE=y +CONFIG_FS_FAT_MAX_CLUSTSIZE=65536 +# CONFIG_FS_JFFS2 is not set +# CONFIG_UBIFS_SILENCE_MSG is not set +# CONFIG_UBIFS_SILENCE_DEBUG_DUMP is not set +# CONFIG_FS_CRAMFS is not set +# CONFIG_FS_SQUASHFS is not set +# CONFIG_FS_EROFS is not set + +# +# Library routines +# +# CONFIG_ADDR_MAP is not set +# CONFIG_SYS_TIMER_COUNTS_DOWN is not set +# CONFIG_PHYSMEM is not set +# CONFIG_BCH is not set +# CONFIG_BINMAN_FDT is not set +CONFIG_BINMAN_DTB="" +# CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set +CONFIG_CHARSET=y +# CONFIG_DYNAMIC_CRC_TABLE is not set +CONFIG_LIB_UUID=y +CONFIG_RANDOM_UUID=y +CONFIG_SPL_LIB_UUID=y +# CONFIG_SEMIHOSTING is not set +# CONFIG_SPL_SEMIHOSTING is not set +CONFIG_PRINTF=y +CONFIG_SPL_PRINTF=y +CONFIG_TPL_PRINTF=y +CONFIG_SPRINTF=y +CONFIG_SPL_SPRINTF=y +CONFIG_TPL_SPRINTF=y +CONFIG_STRTO=y +CONFIG_SPL_STRTO=y +CONFIG_TPL_STRTO=y +CONFIG_SYS_HZ=1000 +CONFIG_SPL_USE_TINY_PRINTF=y +CONFIG_TPL_USE_TINY_PRINTF=y +CONFIG_PANIC_HANG=y +CONFIG_REGEX=y +CONFIG_LIB_RAND=y +# CONFIG_LIB_HW_RAND is not set +CONFIG_SUPPORT_ACPI=y +# CONFIG_ACPI is not set +# CONFIG_SPL_ACPI is not set +# CONFIG_SPL_TINY_MEMSET is not set +CONFIG_TPL_TINY_MEMSET=y +# CONFIG_BITREVERSE is not set +# CONFIG_TRACE is not set +# CONFIG_CIRCBUF is not set +CONFIG_CMD_DHRYSTONE=y + +# +# Alternative crypto libraries +# +CONFIG_LEGACY_HASHING_AND_CRYPTO=y +# CONFIG_MBEDTLS_LIB is not set +CONFIG_LEGACY_HASHING=y +CONFIG_SHA1_LEGACY=y +CONFIG_SHA256_LEGACY=y +CONFIG_MD5_LEGACY=y +CONFIG_LEGACY_CRYPTO=y +CONFIG_SPL_LEGACY_HASHING_AND_CRYPTO=y +# CONFIG_SPL_MBEDTLS_LIB is not set +CONFIG_SPL_LEGACY_HASHING=y +CONFIG_SPL_SHA1_LEGACY=y +CONFIG_SPL_SHA256_LEGACY=y +CONFIG_SPL_LEGACY_CRYPTO=y +CONFIG_TPL_LEGACY_HASHING_AND_CRYPTO=y +# CONFIG_TPL_MBEDTLS_LIB is not set +CONFIG_TPL_LEGACY_HASHING=y + +# +# Security support +# +# CONFIG_AES is not set +# CONFIG_ECDSA is not set +CONFIG_RSA=y +CONFIG_SPL_RSA=y +CONFIG_SPL_RSA_VERIFY=y +CONFIG_RSA_VERIFY=y +# CONFIG_RSA_VERIFY_WITH_PKEY is not set +# CONFIG_SPL_RSA_VERIFY_WITH_PKEY is not set +CONFIG_RSA_SOFTWARE_EXP=y +# CONFIG_ASYMMETRIC_KEY_TYPE is not set +# CONFIG_TPM is not set +# CONFIG_SPL_TPM is not set +# CONFIG_TPL_TPM is not set + +# +# Android Verified Boot +# + +# +# Hashing Support +# +# CONFIG_BLAKE2 is not set +CONFIG_SHA1=y +CONFIG_SHA256=y +# CONFIG_SHA512 is not set +# CONFIG_SHA384 is not set +# CONFIG_SHA_HW_ACCEL is not set +CONFIG_SPL_CRC32=y +CONFIG_SPL_SHA1=y +CONFIG_SPL_SHA256=y +# CONFIG_SPL_SHA512 is not set +# CONFIG_SPL_SHA384 is not set +# CONFIG_SPL_SHA_HW_ACCEL is not set +CONFIG_MD5=y +# CONFIG_SPL_MD5 is not set +CONFIG_CRC8=y +CONFIG_SPL_CRC8=y +# CONFIG_TPL_CRC8 is not set +CONFIG_CRC16=y +# CONFIG_SPL_CRC16 is not set +CONFIG_CRC32=y + +# +# Compression Support +# +CONFIG_LZ4=y +CONFIG_LZMA=y +# CONFIG_LZO is not set +CONFIG_GZIP=y +# CONFIG_ZLIB_UNCOMPRESS is not set +# CONFIG_BZIP2 is not set +CONFIG_ZLIB=y +# CONFIG_ZSTD is not set +# CONFIG_SPL_BZIP2 is not set +# CONFIG_SPL_LZ4 is not set +# CONFIG_TPL_LZ4 is not set +# CONFIG_SPL_LZMA is not set +# CONFIG_TPL_LZMA is not set +CONFIG_VPL_LZMA=y +# CONFIG_SPL_LZO is not set +# CONFIG_SPL_GZIP is not set +# CONFIG_TPL_GZIP is not set +# CONFIG_SPL_ZSTD is not set +CONFIG_ERRNO_STR=y +# CONFIG_HEXDUMP is not set +CONFIG_GETOPT=y +CONFIG_OF_LIBFDT=y +CONFIG_OF_LIBFDT_ASSUME_MASK=0x0 +CONFIG_SYS_FDT_PAD=0x3000 +CONFIG_SPL_OF_LIBFDT=y +CONFIG_TPL_OF_LIBFDT=y +CONFIG_TPL_OF_LIBFDT_ASSUME_MASK=0xff + +# +# System tables +# +# CONFIG_BLOBLIST_TABLES is not set +CONFIG_GENERATE_SMBIOS_TABLE=y +# CONFIG_GENERATE_SMBIOS_TABLE_VERBOSE is not set +# CONFIG_LIB_RATIONAL is not set +# CONFIG_SPL_LIB_RATIONAL is not set +CONFIG_SMBIOS=y +# CONFIG_SMBIOS_PARSER is not set +# CONFIG_OPTEE_LIB is not set +# CONFIG_OPTEE_IMAGE is not set +# CONFIG_BOOTM_OPTEE is not set +# CONFIG_TEST_FDTDEC is not set +CONFIG_LIB_ELF=y +CONFIG_LMB=y +# CONFIG_LMB_ARCH_MEM_MAP is not set +# CONFIG_PHANDLE_CHECK_SEQ is not set + +# +# Testing +# +# CONFIG_UNIT_TEST is not set +# CONFIG_SPL_UNIT_TEST is not set +# CONFIG_POST is not set + +# +# Tools options +# +CONFIG_MKIMAGE_DTC_PATH="dtc" +CONFIG_TOOLS_CRC16=y +CONFIG_TOOLS_CRC32=y +CONFIG_TOOLS_LIBCRYPTO=y +CONFIG_TOOLS_KWBIMAGE=y +CONFIG_TOOLS_FIT=y +CONFIG_TOOLS_FIT_FULL_CHECK=y +CONFIG_TOOLS_FIT_PRINT=y +CONFIG_TOOLS_FIT_RSASSA_PSS=y +CONFIG_TOOLS_FIT_SIGNATURE=y +CONFIG_TOOLS_FIT_SIGNATURE_MAX_SIZE=0x10000000 +CONFIG_TOOLS_FIT_VERBOSE=y +CONFIG_TOOLS_MD5=y +CONFIG_TOOLS_OF_LIBFDT=y +CONFIG_TOOLS_SHA1=y +CONFIG_TOOLS_SHA256=y +CONFIG_TOOLS_SHA384=y +CONFIG_TOOLS_SHA512=y +CONFIG_TOOLS_MKEFICAPSULE=y +# CONFIG_FSPI_CONF_HEADER is not set +# CONFIG_TOOLS_MKFWUMDATA is not set diff --git a/config/module/u-boot/gru_bob/target.cfg b/config/module/u-boot/gru_bob/target.cfg new file mode 100644 index 00000000..50080091 --- /dev/null +++ b/config/module/u-boot/gru_bob/target.cfg @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +tree="default" +xarch="aarch64-elf arm-eabi" diff --git a/config/module/u-boot/gru_kevin/config/default b/config/module/u-boot/gru_kevin/config/default new file mode 100644 index 00000000..582c51f9 --- /dev/null +++ b/config/module/u-boot/gru_kevin/config/default @@ -0,0 +1,2593 @@ +# +# Automatically generated file; DO NOT EDIT. +# U-Boot 2025.04 Configuration +# + +# +# Compiler: gcc (Debian 14.2.0-19) 14.2.0 +# +CONFIG_CREATE_ARCH_SYMLINK=y +CONFIG_HAVE_SETJMP=y +CONFIG_SUPPORT_LITTLE_ENDIAN=y +CONFIG_SYS_CACHE_SHIFT_6=y +CONFIG_64BIT=y +CONFIG_SPL_64BIT=y +CONFIG_SYS_CACHELINE_SIZE=64 +CONFIG_LINKER_LIST_ALIGN=8 +# CONFIG_ARC is not set +CONFIG_ARM=y +# CONFIG_M68K is not set +# CONFIG_MICROBLAZE is not set +# CONFIG_MIPS is not set +# CONFIG_NIOS2 is not set +# CONFIG_PPC is not set +# CONFIG_RISCV is not set +# CONFIG_SANDBOX is not set +# CONFIG_SH is not set +# CONFIG_X86 is not set +# CONFIG_XTENSA is not set +CONFIG_SYS_ARCH="arm" +CONFIG_SYS_CPU="armv8" +CONFIG_SYS_SOC="rk3399" +CONFIG_SYS_VENDOR="google" +CONFIG_SYS_BOARD="gru" +CONFIG_SYS_CONFIG_NAME="gru" + +# +# Skipping low level initialization functions +# +CONFIG_SKIP_LOWLEVEL_INIT=y +# CONFIG_SPL_SKIP_LOWLEVEL_INIT is not set +# CONFIG_TPL_SKIP_LOWLEVEL_INIT is not set +# CONFIG_SKIP_LOWLEVEL_INIT_ONLY is not set +# CONFIG_SPL_SKIP_LOWLEVEL_INIT_ONLY is not set +# CONFIG_TPL_SKIP_LOWLEVEL_INIT_ONLY is not set +# CONFIG_SYS_ICACHE_OFF is not set +# CONFIG_SPL_SYS_ICACHE_OFF is not set +# CONFIG_SYS_DCACHE_OFF is not set +# CONFIG_SPL_SYS_DCACHE_OFF is not set + +# +# ARM architecture +# +CONFIG_ARM64=y +CONFIG_ARM64_CRC32=y +CONFIG_COUNTER_FREQUENCY=24000000 +CONFIG_POSITION_INDEPENDENT=y +# CONFIG_INIT_SP_RELATIVE is not set +CONFIG_LNX_KRNL_IMG_TEXT_OFFSET_BASE=0x18000000 +# CONFIG_DRIVER_GICV2 is not set +# CONFIG_GIC_V3_ITS is not set +# CONFIG_GICV3_SUPPORT_GIC600 is not set +CONFIG_STATIC_RELA=y +CONFIG_DMA_ADDR_T_64BIT=y +CONFIG_ARM_ASM_UNIFIED=y +# CONFIG_SYS_ARM_CACHE_CP15 is not set +# CONFIG_SYS_ARM_MMU is not set +# CONFIG_SYS_ARM_MPU is not set +CONFIG_SYS_ARM_ARCH=8 +CONFIG_SYS_ARM_CACHE_WRITEBACK=y +# CONFIG_SYS_ARM_CACHE_WRITETHROUGH is not set +# CONFIG_SYS_ARM_CACHE_WRITEALLOC is not set +# CONFIG_ARCH_CPU_INIT is not set +CONFIG_SYS_ARCH_TIMER=y +CONFIG_ARM_SMCCC=y +# CONFIG_SYS_L2_PL310 is not set +# CONFIG_SPL_SYS_L2_PL310 is not set +# CONFIG_SYS_L2CACHE_OFF is not set +CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y +# CONFIG_USE_ARCH_MEMCPY is not set +# CONFIG_SPL_USE_ARCH_MEMCPY is not set +# CONFIG_TPL_USE_ARCH_MEMCPY is not set +# CONFIG_USE_ARCH_MEMSET is not set +# CONFIG_SPL_USE_ARCH_MEMSET is not set +# CONFIG_TPL_USE_ARCH_MEMSET is not set +CONFIG_ARM64_SUPPORT_AARCH32=y +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_HISTB is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_MVEBU is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_BCM283X is not set +# CONFIG_ARCH_BCMSTB is not set +# CONFIG_ARCH_BCMBCA is not set +# CONFIG_TARGET_VEXPRESS_CA9X4 is not set +# CONFIG_TARGET_BCMNS is not set +# CONFIG_TARGET_BCMNS3 is not set +# CONFIG_ARCH_EXYNOS is not set +# CONFIG_ARCH_S5PC1XX is not set +# CONFIG_ARCH_HIGHBANK is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_IPQ40XX is not set +# CONFIG_ARCH_KEYSTONE is not set +# CONFIG_ARCH_K3 is not set +# CONFIG_ARCH_OMAP2PLUS is not set +# CONFIG_ARCH_MESON is not set +# CONFIG_ARCH_MEDIATEK is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_LPC32XX is not set +# CONFIG_ARCH_IMX8 is not set +# CONFIG_ARCH_IMX8M is not set +# CONFIG_ARCH_IMX8ULP is not set +# CONFIG_ARCH_IMX9 is not set +# CONFIG_ARCH_IMXRT is not set +# CONFIG_ARCH_MX23 is not set +# CONFIG_ARCH_MX28 is not set +# CONFIG_ARCH_MX31 is not set +# CONFIG_ARCH_MX7ULP is not set +# CONFIG_ARCH_MX7 is not set +# CONFIG_ARCH_MX6 is not set +# CONFIG_ARCH_MX5 is not set +# CONFIG_ARCH_NEXELL is not set +# CONFIG_ARCH_NPCM is not set +# CONFIG_ARCH_APPLE is not set +# CONFIG_ARCH_OWL is not set +# CONFIG_ARCH_QEMU is not set +# CONFIG_ARCH_RENESAS is not set +# CONFIG_ARCH_SNAPDRAGON is not set +# CONFIG_ARCH_SOCFPGA is not set +# CONFIG_ARCH_SUNXI is not set +# CONFIG_ARCH_U8500 is not set +# CONFIG_ARCH_VERSAL is not set +# CONFIG_ARCH_VERSAL2 is not set +# CONFIG_ARCH_VERSAL_NET is not set +# CONFIG_ARCH_VF610 is not set +# CONFIG_ARCH_ZYNQ is not set +# CONFIG_ARCH_ZYNQMP_R5 is not set +# CONFIG_ARCH_ZYNQMP is not set +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARCH_VEXPRESS64 is not set +# CONFIG_TARGET_CORSTONE1000 is not set +# CONFIG_TARGET_TOTAL_COMPUTE is not set +# CONFIG_TARGET_LS2080A_EMU is not set +# CONFIG_TARGET_LS1088AQDS is not set +# CONFIG_TARGET_LS2080AQDS is not set +# CONFIG_TARGET_LS2080ARDB is not set +# CONFIG_TARGET_LS2081ARDB is not set +# CONFIG_TARGET_LX2160ARDB is not set +# CONFIG_TARGET_LX2160AQDS is not set +# CONFIG_TARGET_LX2162AQDS is not set +# CONFIG_TARGET_HIKEY is not set +# CONFIG_TARGET_HIKEY960 is not set +# CONFIG_TARGET_POPLAR is not set +# CONFIG_TARGET_LS1012AQDS is not set +# CONFIG_TARGET_LS1012ARDB is not set +# CONFIG_TARGET_LS1012A2G5RDB is not set +# CONFIG_TARGET_LS1012AFRWY is not set +# CONFIG_TARGET_LS1012AFRDM is not set +# CONFIG_TARGET_LS1028AQDS is not set +# CONFIG_TARGET_LS1028ARDB is not set +# CONFIG_TARGET_LS1088ARDB is not set +# CONFIG_TARGET_LS1021AQDS is not set +# CONFIG_TARGET_LS1021ATWR is not set +# CONFIG_TARGET_PG_WCOM_SELI8 is not set +# CONFIG_TARGET_PG_WCOM_EXPU1 is not set +# CONFIG_TARGET_LS1021ATSN is not set +# CONFIG_TARGET_LS1021AIOT is not set +# CONFIG_TARGET_LS1043AQDS is not set +# CONFIG_TARGET_LS1043ARDB is not set +# CONFIG_TARGET_LS1046AQDS is not set +# CONFIG_TARGET_LS1046ARDB is not set +# CONFIG_TARGET_LS1046AFRWY is not set +# CONFIG_ARCH_SC5XX is not set +# CONFIG_TARGET_SL28 is not set +# CONFIG_TARGET_TEN64 is not set +# CONFIG_ARCH_UNIPHIER is not set +# CONFIG_ARCH_SYNQUACER is not set +# CONFIG_ARCH_STM32 is not set +# CONFIG_ARCH_STI is not set +# CONFIG_ARCH_STM32MP is not set +CONFIG_ARCH_ROCKCHIP=y +# CONFIG_ARCH_OCTEONTX is not set +# CONFIG_ARCH_OCTEONTX2 is not set +# CONFIG_TARGET_THUNDERX_88XX is not set +# CONFIG_ARCH_ASPEED is not set +# CONFIG_TARGET_DURIAN is not set +# CONFIG_TARGET_POMELO is not set +# CONFIG_TARGET_PE2201 is not set +# CONFIG_TARGET_PRESIDIO_ASIC is not set +# CONFIG_TARGET_XENGUEST_ARM64 is not set +# CONFIG_ARCH_GXP is not set +CONFIG_TEXT_BASE=0x18000000 +CONFIG_SYS_MALLOC_LEN=0x2000000 +CONFIG_SYS_MALLOC_F_LEN=0x10000 +CONFIG_BLOBLIST_SIZE_RELOC=0x1000 +CONFIG_SPL_GPIO=y +CONFIG_SPL_LIBCOMMON_SUPPORT=y +CONFIG_SPL_LIBGENERIC_SUPPORT=y +CONFIG_NR_DRAM_BANKS=1 +CONFIG_SPL_LDSCRIPT="arch/arm/cpu/armv8/u-boot-spl.lds" +CONFIG_ENV_SOURCE_FILE="" +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x3f00000 +CONFIG_SF_DEFAULT_SPEED=20000000 +CONFIG_SF_DEFAULT_MODE=0x0 +CONFIG_ENV_SIZE=0x1f000 +CONFIG_DM_GPIO=y +CONFIG_SPL_DM_SPI=y +CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3399-gru-kevin" +CONFIG_DDR_SI_TEST=y +CONFIG_OF_LIBFDT_OVERLAY=y +CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x8000 +CONFIG_DM_RESET=y +CONFIG_SYS_MONITOR_LEN=0 +# CONFIG_ROCKCHIP_PX30 is not set +# CONFIG_ROCKCHIP_RK3036 is not set +# CONFIG_ROCKCHIP_RK3066 is not set +# CONFIG_ROCKCHIP_RK3128 is not set +# CONFIG_ROCKCHIP_RK3188 is not set +# CONFIG_ROCKCHIP_RK322X is not set +# CONFIG_ROCKCHIP_RK3288 is not set +# CONFIG_ROCKCHIP_RK3308 is not set +# CONFIG_ROCKCHIP_RK3328 is not set +# CONFIG_ROCKCHIP_RK3368 is not set +CONFIG_ROCKCHIP_RK3399=y +# CONFIG_ROCKCHIP_RK3568 is not set +# CONFIG_ROCKCHIP_RK3588 is not set +# CONFIG_ROCKCHIP_RV1108 is not set +# CONFIG_ROCKCHIP_RV1126 is not set +# CONFIG_ROCKCHIP_USB_UART is not set +# CONFIG_SPL_ROCKCHIP_BACK_TO_BROM is not set +CONFIG_TPL_ROCKCHIP_BACK_TO_BROM=y +CONFIG_ROCKCHIP_COMMON_BOARD=y +CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y +CONFIG_TPL_ROCKCHIP_COMMON_BOARD=y +# CONFIG_ROCKCHIP_EXTERNAL_TPL is not set +CONFIG_ROCKCHIP_BOOT_MODE_REG=0 +# CONFIG_ROCKCHIP_RK8XX_DISABLE_BOOT_ON_POWERON is not set +CONFIG_ROCKCHIP_STIMER=y +CONFIG_ROCKCHIP_STIMER_BASE=0xff8680a0 +CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x0 +CONFIG_ROCKCHIP_BROM_HELPER=y +# CONFIG_SPL_ROCKCHIP_EARLYRETURN_TO_BROM is not set +CONFIG_ROCKCHIP_DISABLE_FORCE_JTAG=y +# CONFIG_TPL_ROCKCHIP_EARLYRETURN_TO_BROM is not set +# CONFIG_SPL_MMC is not set +CONFIG_ROCKCHIP_SPI_IMAGE=y +CONFIG_ROCKCHIP_COMMON_STACK_ADDR=y +CONFIG_SPL_SERIAL=y +CONFIG_TPL_LDSCRIPT="arch/arm/mach-rockchip/u-boot-tpl-v8.lds" +CONFIG_TPL_TEXT_BASE=0xff8c2000 +CONFIG_TPL_STACK=0xff8effff +CONFIG_TPL_SYS_MALLOC_F_LEN=0x4000 +CONFIG_TPL_LIBCOMMON_SUPPORT=y +CONFIG_TPL_LIBGENERIC_SUPPORT=y +CONFIG_TPL_SERIAL=y +# CONFIG_SPL_DRIVERS_MISC is not set +CONFIG_SPL_STACK_R_ADDR=0x3e00000 +# CONFIG_TARGET_CHROMEBOOK_BOB is not set +CONFIG_TARGET_CHROMEBOOK_KEVIN=y +# CONFIG_TARGET_EVB_RK3399 is not set +# CONFIG_TARGET_PINEBOOK_PRO_RK3399 is not set +# CONFIG_TARGET_PINEPHONE_PRO_RK3399 is not set +# CONFIG_TARGET_PUMA_RK3399 is not set +# CONFIG_TARGET_ROCK960_RK3399 is not set +# CONFIG_TARGET_ROCKPI4_RK3399 is not set +# CONFIG_TARGET_ROCKPRO64_RK3399 is not set +# CONFIG_TARGET_ROC_PC_RK3399 is not set +CONFIG_TPL_SYS_MALLOC_F=y +CONFIG_SPL_SYS_MALLOC_F_LEN=0x8000 +CONFIG_SPL_TEXT_BASE=0x0 +CONFIG_SPL_HAS_BSS_LINKER_SECTION=y +CONFIG_SPL_BSS_START_ADDR=0x3f80000 +CONFIG_SPL_BSS_MAX_SIZE=0x8000 +CONFIG_SPL_STACK_R=y +CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x200000 +CONFIG_SYS_BOOTM_LEN=0x4000000 +CONFIG_SYS_LOAD_ADDR=0x800800 +CONFIG_WATCHDOG_TIMEOUT_MSECS=60000 +CONFIG_SPL_OF_LIBFDT_ASSUME_MASK=0xff +CONFIG_SF_DEFAULT_BUS=1 +CONFIG_SF_DEFAULT_CS=0 +CONFIG_SPL_SYS_MALLOC_F=y +CONFIG_ERR_PTR_OFFSET=0x0 +CONFIG_SPL_SIZE_LIMIT=0x0 +CONFIG_SPL=y +CONFIG_PRE_CON_BUF_ADDR=0x0f200000 +CONFIG_PRE_CON_BUF_SZ=4096 +CONFIG_DEBUG_UART_BASE=0xff1a0000 +CONFIG_DEBUG_UART_CLOCK=24000000 +CONFIG_DEBUG_UART_BOARD_INIT=y +CONFIG_IDENT_STRING="" +CONFIG_SYS_CLK_FREQ=0 +# CONFIG_CHIP_DIP_SCAN is not set +# CONFIG_SPL_FS_FAT is not set +# CONFIG_SPL_LIBDISK_SUPPORT is not set +CONFIG_SPL_SPI_FLASH_SUPPORT=y +CONFIG_SPL_SPI=y +# CONFIG_CMO_BY_VA_ONLY is not set +# CONFIG_ARMV8_SPL_EXCEPTION_VECTORS is not set +# CONFIG_ARMV8_MULTIENTRY is not set +CONFIG_ARMV8_SET_SMPEN=y +# CONFIG_ARMV8_SWITCH_TO_EL1 is not set + +# +# ARMv8 secure monitor firmware +# +# CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT is not set +# CONFIG_SPL_ARMV8_SEC_FIRMWARE_SUPPORT is not set +# CONFIG_SPL_RECOVER_DATA_SECTION is not set +CONFIG_PSCI_RESET=y +# CONFIG_ARMV8_PSCI is not set +# CONFIG_ARMV8_EA_EL3_FIRST is not set +# CONFIG_ARMV8_UDELAY_EVENT_STREAM is not set +CONFIG_ARMV8_CRYPTO=y +CONFIG_ARMV8_CE_SHA1=y +CONFIG_ARMV8_CE_SHA256=y +CONFIG_SYS_MEM_TOP_HIDE=0x0 + +# +# ARM debug +# +CONFIG_TPL_MAX_SIZE=0x2e000 +CONFIG_SPL_PAYLOAD="tpl/u-boot-with-tpl.bin" +CONFIG_BUILD_TARGET="" +# CONFIG_PCI is not set +CONFIG_FWU_NUM_BANKS=2 +CONFIG_FWU_NUM_IMAGES_PER_BANK=2 +CONFIG_TPL_SIZE_LIMIT=0x0 +CONFIG_DEBUG_UART=y +# CONFIG_AHCI is not set +# CONFIG_OF_BOARD_FIXUP is not set + +# +# Functionality shared between NXP SoCs +# +# CONFIG_NXP_ESBC is not set +CONFIG_SYS_LITTLE_ENDIAN=y + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=140200 +CONFIG_CLANG_VERSION=0 +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set +# CONFIG_CC_OPTIMIZE_FOR_DEBUG is not set +# CONFIG_OPTIMIZE_INLINING is not set +# CONFIG_SPL_OPTIMIZE_INLINING is not set +CONFIG_ARCH_SUPPORTS_LTO=y +# CONFIG_LTO is not set +# CONFIG_TPL_OPTIMIZE_INLINING is not set +CONFIG_CC_HAS_ASM_INLINE=y +# CONFIG_XEN is not set +CONFIG_ENV_VARS_UBOOT_CONFIG=y +# CONFIG_SYS_BOOT_GET_CMDLINE is not set +# CONFIG_SYS_BOOT_GET_KBD is not set +CONFIG_SYS_MALLOC_F=y +# CONFIG_VALGRIND is not set +CONFIG_EXPERT=y +CONFIG_SYS_MALLOC_CLEAR_ON_INIT=y +CONFIG_SPL_SYS_MALLOC_CLEAR_ON_INIT=y +# CONFIG_SYS_MALLOC_DEFAULT_TO_INIT is not set +# CONFIG_TOOLS_DEBUG is not set +CONFIG_PHYS_64BIT=y +CONFIG_FDT_64BIT=y +CONFIG_HAS_ROM=y +CONFIG_SPL_IMAGE="spl/u-boot-spl.bin" +CONFIG_REMAKE_ELF=y +# CONFIG_HAS_BOARD_SIZE_LIMIT is not set +# CONFIG_SYS_CUSTOM_LDSCRIPT is not set +CONFIG_PLATFORM_ELFENTRY="_start" +CONFIG_STACK_SIZE=0x1000000 +# CONFIG_MP is not set +CONFIG_HAVE_TEXT_BASE=y +# CONFIG_HAVE_SYS_UBOOT_START is not set +CONFIG_SYS_UBOOT_START=0x18000000 +# CONFIG_DYNAMIC_SYS_CLK_FREQ is not set +# CONFIG_API is not set + +# +# Boot options +# + +# +# UEFI Support +# +CONFIG_EFI_LOADER=y +CONFIG_EFI_BINARY_EXEC=y +# CONFIG_EFI_SECURE_BOOT is not set + +# +# UEFI services +# +CONFIG_EFI_HAVE_RUNTIME_RESET=y + +# +# UEFI Variables +# +# CONFIG_EFI_VARIABLE_FILE_STORE is not set +CONFIG_EFI_VARIABLE_NO_STORE=y +# CONFIG_EFI_VARIABLES_PRESEED is not set +CONFIG_EFI_VAR_BUF_SIZE=131072 +CONFIG_EFI_PLATFORM_LANG_CODES="en-US" + +# +# Capsule support +# +# CONFIG_EFI_RUNTIME_UPDATE_CAPSULE is not set +# CONFIG_EFI_CAPSULE_ON_DISK is not set +CONFIG_EFI_CAPSULE_MAX=15 + +# +# UEFI protocol support +# +CONFIG_EFI_DEVICE_PATH_TO_TEXT=y +CONFIG_EFI_DEVICE_PATH_UTIL=y +CONFIG_EFI_DT_FIXUP=y +CONFIG_EFI_LOADER_HII=y +CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=y +CONFIG_EFI_UNICODE_CAPITALIZATION=y +CONFIG_EFI_RNG_PROTOCOL=y +CONFIG_EFI_LOAD_FILE2_INITRD=y +# CONFIG_EFI_IP4_CONFIG2_PROTOCOL is not set + +# +# Misc options +# +# CONFIG_EFI_LOADER_BOUNCE_BUFFER is not set +CONFIG_EFI_ECPT=y +CONFIG_EFI_EBBR_2_1_CONFORMANCE=y +# CONFIG_EFI_SCROLL_ON_CLEAR_SCREEN is not set + +# +# EFI bootmanager +# +CONFIG_EFI_BOOTMGR=y +# CONFIG_EFI_HTTP_BOOT is not set +CONFIG_BOOTEFI_HELLO_COMPILE=y +CONFIG_BOOTEFI_TESTAPP_COMPILE=y + +# +# Boot images +# +# CONFIG_ANDROID_BOOT_IMAGE is not set +# CONFIG_TIMESTAMP is not set +CONFIG_FIT=y +CONFIG_FIT_EXTERNAL_OFFSET=0x0 +CONFIG_FIT_FULL_CHECK=y +CONFIG_FIT_SIGNATURE=y +CONFIG_FIT_SIGNATURE_MAX_SIZE=0x10000000 +# CONFIG_FIT_RSASSA_PSS is not set +# CONFIG_FIT_CIPHER is not set +# CONFIG_FIT_VERBOSE is not set +# CONFIG_FIT_BEST_MATCH is not set +CONFIG_FIT_PRINT=y +CONFIG_SPL_FIT=y +# CONFIG_TPL_FIT is not set +# CONFIG_SPL_FIT_PRINT is not set +CONFIG_SPL_FIT_FULL_CHECK=y +CONFIG_SPL_FIT_SIGNATURE=y +CONFIG_SPL_FIT_SIGNATURE_MAX_SIZE=0x10000000 +# CONFIG_SPL_FIT_RSASSA_PSS is not set +CONFIG_SPL_LOAD_FIT=y +CONFIG_SPL_LOAD_FIT_ADDRESS=0x0 +# CONFIG_SPL_LOAD_FIT_APPLY_OVERLAY is not set +# CONFIG_SPL_LOAD_FIT_FULL is not set +# CONFIG_TPL_LOAD_FIT is not set +# CONFIG_SPL_FIT_IMAGE_POST_PROCESS is not set +CONFIG_PXE_UTILS=y +CONFIG_BOOT_DEFAULTS_FEATURES=y +CONFIG_BOOT_DEFAULTS_CMDS=y +CONFIG_BOOT_DEFAULTS=y +CONFIG_BOOTSTD=y +# CONFIG_SPL_BOOTSTD is not set +CONFIG_BOOTSTD_FULL=y +CONFIG_BOOTSTD_DEFAULTS=y +CONFIG_BOOTSTD_BOOTCOMMAND=y +CONFIG_BOOTSTD_MENU=y +CONFIG_BOOTMETH_GLOBAL=y +# CONFIG_BOOTMETH_ANDROID is not set +# CONFIG_BOOTMETH_CROS is not set +CONFIG_BOOTMETH_EXTLINUX=y +CONFIG_BOOTMETH_EXTLINUX_PXE=y +CONFIG_BOOTMETH_EFILOADER=y +CONFIG_BOOTMETH_EFI_BOOTMGR=y +CONFIG_BOOTMETH_VBE=y +CONFIG_BOOTMETH_DISTRO=y +# CONFIG_SPL_BOOTMETH_VBE is not set +CONFIG_TPL_BOOTMETH_VBE=y +CONFIG_BOOTMETH_VBE_REQUEST=y +# CONFIG_SPL_BOOTMETH_VBE_REQUEST is not set +CONFIG_BOOTMETH_VBE_SIMPLE=y +# CONFIG_BOOTMETH_VBE_ABREC is not set +CONFIG_BOOTMETH_VBE_SIMPLE_OS=y +# CONFIG_SPL_BOOTMETH_VBE_SIMPLE is not set +CONFIG_EXPO=y +CONFIG_BOOTMETH_SCRIPT=y +# CONFIG_UPL is not set +CONFIG_LEGACY_IMAGE_FORMAT=y +CONFIG_SUPPORT_RAW_INITRD=y +# CONFIG_CHROMEOS is not set +# CONFIG_CHROMEOS_VBOOT is not set +# CONFIG_RAMBOOT_PBL is not set +CONFIG_SYS_BOOT_RAMDISK_HIGH=y +# CONFIG_DISTRO_DEFAULTS is not set + +# +# Boot timing +# +# CONFIG_BOOTSTAGE is not set +# CONFIG_SHOW_BOOT_PROGRESS is not set +# CONFIG_SPL_SHOW_BOOT_PROGRESS is not set + +# +# Boot media +# +# CONFIG_NAND_BOOT is not set +# CONFIG_ONENAND_BOOT is not set +# CONFIG_QSPI_BOOT is not set +# CONFIG_SATA_BOOT is not set +# CONFIG_SD_BOOT is not set +# CONFIG_SD_BOOT_QSPI is not set +# CONFIG_SPI_BOOT is not set + +# +# Autoboot options +# +CONFIG_AUTOBOOT=y +CONFIG_BOOTDELAY=2 +# CONFIG_AUTOBOOT_KEYED is not set +# CONFIG_AUTOBOOT_USE_MENUKEY is not set +# CONFIG_AUTOBOOT_MENU_SHOW is not set +# CONFIG_BOOT_RETRY is not set + +# +# Image support +# +# CONFIG_IMAGE_PRE_LOAD is not set + +# +# Devicetree fixup +# +# CONFIG_OF_ENV_SETUP is not set +# CONFIG_OF_BOARD_SETUP is not set +# CONFIG_OF_SYSTEM_SETUP is not set +# CONFIG_OF_STDOUT_VIA_ALIAS is not set +# CONFIG_FDT_FIXUP_PARTITIONS is not set +# CONFIG_FDT_SIMPLEFB is not set +CONFIG_ARCH_FIXUP_FDT_MEMORY=y +# CONFIG_USE_BOOTARGS is not set +# CONFIG_BOOTARGS_SUBST is not set +CONFIG_USE_BOOTCOMMAND=y +CONFIG_BOOTCOMMAND="bootflow scan -l; if bootflow menu; then cls; bootflow boot; fi" +CONFIG_USE_PREBOOT=y +CONFIG_PREBOOT="usb start" +CONFIG_PREBOOT_DEFINED=y +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-gru-kevin.dtb" +# CONFIG_SAVE_PREV_BL_FDT_ADDR is not set +# CONFIG_SAVE_PREV_BL_INITRAMFS_START_ADDR is not set + +# +# Configuration editor +# +# CONFIG_CEDIT is not set + +# +# Console +# +CONFIG_MENU=y +# CONFIG_CONSOLE_RECORD is not set +CONFIG_SYS_CBSIZE=1024 +CONFIG_SYS_PBSIZE=1044 +# CONFIG_DISABLE_CONSOLE is not set +CONFIG_LOGLEVEL=4 +CONFIG_SPL_LOGLEVEL=4 +CONFIG_TPL_LOGLEVEL=4 +# CONFIG_SILENT_CONSOLE is not set +# CONFIG_SPL_SILENT_CONSOLE is not set +# CONFIG_TPL_SILENT_CONSOLE is not set +CONFIG_PRE_CONSOLE_BUFFER=y +CONFIG_CONSOLE_FLUSH_SUPPORT=y +# CONFIG_CONSOLE_FLUSH_ON_NEWLINE is not set +CONFIG_CONSOLE_MUX=y +CONFIG_SYS_CONSOLE_IS_IN_ENV=y +# CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE is not set +# CONFIG_SYS_CONSOLE_ENV_OVERWRITE is not set +# CONFIG_SYS_CONSOLE_INFO_QUIET is not set +CONFIG_SYS_STDIO_DEREGISTER=y +# CONFIG_SPL_SYS_STDIO_DEREGISTER is not set +CONFIG_SYS_DEVICE_NULLDEV=y + +# +# Logging +# +CONFIG_LOG=y +CONFIG_LOG_MAX_LEVEL=6 +CONFIG_LOG_DEFAULT_LEVEL=6 +CONFIG_LOG_CONSOLE=y +# CONFIG_LOGF_FILE is not set +# CONFIG_LOGF_LINE is not set +# CONFIG_LOGF_FUNC is not set +CONFIG_LOGF_FUNC_PAD=20 +# CONFIG_LOG_SYSLOG is not set +# CONFIG_SPL_LOG is not set +# CONFIG_TPL_LOG is not set +# CONFIG_LOG_ERROR_RETURN is not set + +# +# Init options +# +# CONFIG_BOARD_TYPES is not set +# CONFIG_DISPLAY_CPUINFO is not set +CONFIG_DISPLAY_BOARDINFO=y +CONFIG_DISPLAY_BOARDINFO_LATE=y + +# +# Start-up hooks +# +CONFIG_CYCLIC=y +# CONFIG_SPL_CYCLIC is not set +CONFIG_CYCLIC_MAX_CPU_TIME_US=5000 +CONFIG_EVENT=y +CONFIG_EVENT_DYNAMIC=y +# CONFIG_EVENT_DEBUG is not set +# CONFIG_ARCH_MISC_INIT is not set +# CONFIG_BOARD_EARLY_INIT_F is not set +CONFIG_BOARD_EARLY_INIT_R=y +# CONFIG_BOARD_POSTCLK_INIT is not set +CONFIG_BOARD_LATE_INIT=y +# CONFIG_CLOCKS is not set +# CONFIG_HWCONFIG is not set +CONFIG_LAST_STAGE_INIT=y +CONFIG_MISC_INIT_R=y +# CONFIG_SYS_MALLOC_BOOTPARAMS is not set +# CONFIG_ID_EEPROM is not set +# CONFIG_RESET_PHY_R is not set + +# +# Security support +# +CONFIG_HASH=y +# CONFIG_HASH_CRC8 is not set +CONFIG_SPL_HASH=y +# CONFIG_STACKPROTECTOR is not set +# CONFIG_BOARD_RNG_SEED is not set + +# +# Update support +# +# CONFIG_UPDATE_TFTP is not set +# CONFIG_ANDROID_AB is not set + +# +# Blob list +# +CONFIG_BLOBLIST=y +CONFIG_SPL_BLOBLIST=y +# CONFIG_TPL_BLOBLIST is not set +CONFIG_BLOBLIST_FIXED=y +# CONFIG_BLOBLIST_ALLOC is not set +CONFIG_BLOBLIST_ADDR=0x100000 +CONFIG_BLOBLIST_SIZE=0x1000 +CONFIG_SPL_BLOBLIST_FIXED=y +# CONFIG_SPL_BLOBLIST_ALLOC is not set +CONFIG_SUPPORT_SPL=y +CONFIG_SUPPORT_TPL=y + +# +# SPL configuration options +# +CONFIG_SPL_FRAMEWORK=y +# CONFIG_SPL_FRAMEWORK_BOARD_INIT_F is not set +CONFIG_SPL_MAX_SIZE=0x40000 +CONFIG_SPL_PAD_TO=0x7f8000 +# CONFIG_SPL_NO_BSS_LIMIT is not set +CONFIG_SPL_BSS_LIMIT=y +# CONFIG_SPL_FOOTPRINT_LIMIT is not set +CONFIG_SPL_SYS_STACK_F_CHECK_BYTE=0xaa +# CONFIG_SPL_SYS_REPORT_STACK_F_USAGE is not set +# CONFIG_SPL_SHOW_ERRORS is not set +CONFIG_SPL_BINMAN_SYMBOLS=y +CONFIG_SPL_BINMAN_UBOOT_SYMBOLS=y +CONFIG_HANDOFF=y +CONFIG_SPL_HANDOFF=y +# CONFIG_SPL_SOC_INIT is not set +CONFIG_SPL_BOARD_INIT=y +CONFIG_SPL_LOAD_BLOCK=y +# CONFIG_SPL_BOOTROM_SUPPORT is not set +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set +# CONFIG_SPL_LEGACY_IMAGE_FORMAT is not set +# CONFIG_SPL_LOAD_IMX_CONTAINER is not set +CONFIG_SPL_SYS_MALLOC_SIMPLE=y +CONFIG_SPL_SHARES_INIT_SP_ADDR=y +CONFIG_SPL_SEPARATE_BSS=y +# CONFIG_SPL_SYS_MALLOC is not set +CONFIG_SPL_BANNER_PRINT=y +# CONFIG_SPL_DISPLAY_PRINT is not set +CONFIG_SPL_SYS_MMCSD_RAW_MODE=y +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y +# CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION is not set +# CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE is not set +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x4000 +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET=0x0 +# CONFIG_SPL_FIT_IMAGE_TINY is not set +# CONFIG_SPL_CACHE is not set +# CONFIG_SPL_CPU is not set +CONFIG_SPL_CRYPTO=y +# CONFIG_SPL_DMA is not set +# CONFIG_SPL_ENV_SUPPORT is not set +# CONFIG_SPL_FS_EXT4 is not set +# CONFIG_SPL_FS_SQUASHFS is not set +# CONFIG_SPL_FAT_WRITE is not set +# CONFIG_SPL_FPGA is not set +# CONFIG_SPL_I2C is not set +# CONFIG_SPL_DM_MAILBOX is not set +# CONFIG_SPL_MEMORY is not set +# CONFIG_SPL_MPC8XXX_INIT_DDR is not set +# CONFIG_SPL_MTD is not set +# CONFIG_SPL_MUSB_NEW is not set +# CONFIG_SPL_NAND_SUPPORT is not set +# CONFIG_SPL_NAND_DRIVERS is not set +# CONFIG_SPL_NAND_ECC is not set +# CONFIG_SPL_NAND_SIMPLE is not set +# CONFIG_SPL_RELOC_LOADER is not set +# CONFIG_SPL_UBI is not set +CONFIG_SPL_DM_SPI_FLASH=y +# CONFIG_SPL_NET is not set +# CONFIG_SPL_NOR_SUPPORT is not set +# CONFIG_SPL_XIP_SUPPORT is not set +# CONFIG_SPL_ONENAND_SUPPORT is not set +# CONFIG_SPL_OS_BOOT is not set +# CONFIG_SPL_PCI is not set +# CONFIG_SPL_PCH is not set +# CONFIG_SPL_POST_MEM_SUPPORT is not set +# CONFIG_SPL_DM_RESET is not set +# CONFIG_SPL_POWER is not set +# CONFIG_SPL_POWER_DOMAIN is not set +# CONFIG_SPL_RAM_DEVICE is not set +# CONFIG_SPL_REMOTEPROC is not set +# CONFIG_SPL_RTC is not set +# CONFIG_SPL_SATA is not set +# CONFIG_SPL_NVME is not set +CONFIG_SPL_SPI_FLASH_TINY=y +# CONFIG_SPL_SPI_FLASH_MTD is not set +CONFIG_SPL_SPI_LOAD=y +CONFIG_SYS_SPI_U_BOOT_OFFS=0xE0000 +# CONFIG_SPL_THERMAL is not set +# CONFIG_SPL_WATCHDOG is not set +# CONFIG_SPL_YMODEM_SUPPORT is not set +CONFIG_SPL_ATF=y +# CONFIG_SPL_ATF_LOAD_IMAGE_V2 is not set +CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y +# CONFIG_SPL_OPTEE_IMAGE is not set +CONFIG_SPL_TARGET="" +CONFIG_TPL=y + +# +# TPL configuration options +# +CONFIG_TPL_BINMAN_SYMBOLS=y +CONFIG_TPL_BINMAN_UBOOT_SYMBOLS=y +CONFIG_TPL_FRAMEWORK=y +CONFIG_TPL_BANNER_PRINT=y +# CONFIG_TPL_BOARD_INIT is not set +CONFIG_TPL_SYS_MALLOC_SIMPLE=y +CONFIG_TPL_SEPARATE_BSS=y +CONFIG_TPL_NEEDS_SEPARATE_STACK=y +# CONFIG_TPL_POWER is not set +CONFIG_TPL_BOOTROM_SUPPORT=y +# CONFIG_TPL_CRC32 is not set +# CONFIG_TPL_DRIVERS_MISC is not set +# CONFIG_TPL_ENV_SUPPORT is not set +CONFIG_TPL_GPIO=y +# CONFIG_TPL_I2C is not set +# CONFIG_TPL_MPC8XXX_INIT_DDR is not set +# CONFIG_TPL_MMC is not set +# CONFIG_TPL_NAND_SUPPORT is not set +# CONFIG_TPL_PCI is not set +# CONFIG_TPL_PCH is not set +# CONFIG_TPL_RAM_SUPPORT is not set +# CONFIG_TPL_RELOC_LOADER is not set +# CONFIG_TPL_RTC is not set +# CONFIG_TPL_SPI_FLASH_SUPPORT is not set +# CONFIG_TPL_SPI is not set +# CONFIG_TPL_DM_SPI is not set +# CONFIG_TPL_DM_SPI_FLASH is not set +# CONFIG_TPL_YMODEM_SUPPORT is not set +# CONFIG_VPL is not set +CONFIG_IMAGE_SIGN_INFO=y +CONFIG_SPL_IMAGE_SIGN_INFO=y +CONFIG_CMDLINE=y +CONFIG_HUSH_PARSER=y + +# +# Hush flavor to use +# +CONFIG_HUSH_OLD_PARSER=y +# CONFIG_HUSH_MODERN_PARSER is not set +CONFIG_CMDLINE_EDITING=y +# CONFIG_CMDLINE_PS_SUPPORT is not set +CONFIG_AUTO_COMPLETE=y +CONFIG_SYS_LONGHELP=y +CONFIG_SYS_PROMPT="=> " +CONFIG_SYS_PROMPT_HUSH_PS2="> " +CONFIG_SYS_MAXARGS=64 +CONFIG_SYS_XTRACE=y + +# +# Commands +# + +# +# Info commands +# +CONFIG_CMD_BDI=y +# CONFIG_CMD_BDINFO_EXTRA is not set +# CONFIG_CMD_CONFIG is not set +CONFIG_CMD_CONSOLE=y +# CONFIG_CMD_UFETCH is not set +# CONFIG_CMD_HISTORY is not set +# CONFIG_CMD_LICENSE is not set +# CONFIG_CMD_PMC is not set +# CONFIG_CMD_SMBIOS is not set + +# +# Boot commands +# +CONFIG_CMD_BOOTD=y +CONFIG_CMD_BOOTM=y +CONFIG_CMD_BOOTDEV=y +CONFIG_CMD_BOOTFLOW=y +CONFIG_CMD_BOOTFLOW_FULL=y +CONFIG_CMD_BOOTFLOW_BOOTDELAY=8 +CONFIG_CMD_BOOTMETH=y +CONFIG_CMD_BOOTSTD=y +CONFIG_BOOTM_EFI=y +CONFIG_BOOTM_ELF=y +CONFIG_CMD_BOOTZ=y +CONFIG_CMD_BOOTI=y +CONFIG_BOOTM_LINUX=y +CONFIG_BOOTM_NETBSD=y +# CONFIG_BOOTM_OPENRTOS is not set +# CONFIG_BOOTM_OSE is not set +CONFIG_BOOTM_PLAN9=y +CONFIG_BOOTM_RTEMS=y +# CONFIG_CMD_UPL is not set +CONFIG_CMD_VBE=y +CONFIG_BOOTM_VXWORKS=y +CONFIG_CMD_BOOTEFI=y +CONFIG_CMD_BOOTEFI_BINARY=y +CONFIG_CMD_BOOTEFI_BOOTMGR=y +CONFIG_CMD_BOOTEFI_HELLO=y +CONFIG_CMD_BOOTEFI_SELFTEST=y +CONFIG_CMD_BOOTMENU=y +# CONFIG_CMD_ADTIMG is not set +CONFIG_CMD_ELF=y +CONFIG_CMD_ELF_BOOTVX=y +# CONFIG_CMD_ELF_FDT_SETUP is not set +CONFIG_CMD_FDT=y +CONFIG_CMD_GO=y +CONFIG_CMD_RUN=y +CONFIG_CMD_IMI=y +CONFIG_CMD_XIMG=y +CONFIG_SYS_XIMG_LEN=0x800000 +# CONFIG_CMD_SPL is not set + +# +# Environment commands +# +# CONFIG_CMD_ASKENV is not set +CONFIG_CMD_EXPORTENV=y +CONFIG_CMD_IMPORTENV=y +CONFIG_CMD_EDITENV=y +# CONFIG_CMD_GREPENV is not set +CONFIG_CMD_SAVEENV=y +# CONFIG_CMD_ERASEENV is not set +CONFIG_CMD_ENV_EXISTS=y +# CONFIG_CMD_ENV_CALLBACK is not set +# CONFIG_CMD_ENV_FLAGS is not set +CONFIG_CMD_NVEDIT_EFI=y +# CONFIG_CMD_NVEDIT_INDIRECT is not set +# CONFIG_CMD_NVEDIT_INFO is not set +# CONFIG_CMD_NVEDIT_LOAD is not set +# CONFIG_CMD_NVEDIT_SELECT is not set + +# +# Memory commands +# +# CONFIG_CMD_BINOP is not set +CONFIG_CMD_BLOBLIST=y +CONFIG_CMD_CRC32=y +# CONFIG_CRC32_VERIFY is not set +# CONFIG_CMD_EEPROM is not set +CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=0 +# CONFIG_LOOPW is not set +# CONFIG_CMD_MD5SUM is not set +# CONFIG_CMD_MEMINFO is not set +CONFIG_CMD_MEMORY=y +# CONFIG_CMD_MEM_SEARCH is not set +# CONFIG_CMD_MX_CYCLIC is not set +CONFIG_CMD_RANDOM=y +# CONFIG_CMD_MEMTEST is not set +# CONFIG_CMD_SHA1SUM is not set +# CONFIG_CMD_STRINGS is not set + +# +# Compression commands +# +CONFIG_CMD_LZMADEC=y +CONFIG_CMD_UNLZ4=y +CONFIG_CMD_UNZIP=y +# CONFIG_CMD_ZIP is not set + +# +# Device access commands +# +# CONFIG_CMD_ADC is not set +# CONFIG_CMD_BCB is not set +# CONFIG_CMD_BIND is not set +# CONFIG_CMD_CLK is not set +# CONFIG_CMD_DEMO is not set +# CONFIG_CMD_DFU is not set +CONFIG_CMD_DM=y +# CONFIG_CMD_FUSE is not set +CONFIG_CMD_GPIO=y +# CONFIG_CMD_GPIO_READ is not set +# CONFIG_CMD_PWM is not set +CONFIG_CMD_GPT=y +# CONFIG_CMD_GPT_RENAME is not set +# CONFIG_CMD_IDE is not set +# CONFIG_CMD_IO is not set +# CONFIG_CMD_IOTRACE is not set +CONFIG_CMD_I2C=y +CONFIG_CMD_LOADB=y +# CONFIG_CMD_LOADM is not set +CONFIG_CMD_LOADS=y +# CONFIG_LOADS_ECHO is not set +# CONFIG_CMD_SAVES is not set +# CONFIG_SYS_LOADS_BAUD_CHANGE is not set +CONFIG_CMD_LOADXY_TIMEOUT=90 +# CONFIG_CMD_LSBLK is not set +# CONFIG_CMD_MBR is not set +# CONFIG_CMD_MISC is not set +CONFIG_CMD_MMC=y +# CONFIG_CMD_BKOPS_ENABLE is not set +# CONFIG_CMD_MMC_REG is not set +# CONFIG_CMD_MMC_SWRITE is not set +CONFIG_MMC_SPEED_MODE_SET=y +# CONFIG_CMD_CLONE is not set +# CONFIG_CMD_MTD is not set +# CONFIG_CMD_ONENAND is not set +CONFIG_CMD_PART=y +# CONFIG_CMD_PCI is not set +CONFIG_CMD_PINMUX=y +CONFIG_CMD_POWEROFF=y +# CONFIG_CMD_READ is not set +# CONFIG_CMD_SATA is not set +# CONFIG_CMD_SDRAM is not set +CONFIG_CMD_SF=y +CONFIG_CMD_SF_TEST=y +CONFIG_CMD_SPI=y +CONFIG_DEFAULT_SPI_BUS=0 +CONFIG_DEFAULT_SPI_MODE=0x0 +CONFIG_CMD_USB=y +# CONFIG_CMD_RKMTD is not set +# CONFIG_CMD_WRITE is not set + +# +# Shell scripting commands +# +# CONFIG_CMD_CAT is not set +CONFIG_CMD_ECHO=y +CONFIG_CMD_ITEST=y +CONFIG_CMD_SOURCE=y +# CONFIG_CMD_SETEXPR is not set +# CONFIG_CMD_XXD is not set +CONFIG_CMD_NET=y +CONFIG_CMD_BOOTP=y +# CONFIG_BOOTP_MAY_FAIL is not set +CONFIG_BOOTP_BOOTPATH=y +# CONFIG_BOOTP_VENDOREX is not set +# CONFIG_BOOTP_BOOTFILESIZE is not set +CONFIG_BOOTP_DNS=y +# CONFIG_BOOTP_DNS2 is not set +CONFIG_BOOTP_GATEWAY=y +CONFIG_BOOTP_HOSTNAME=y +# CONFIG_BOOTP_PREFER_SERVERIP is not set +CONFIG_BOOTP_SUBNETMASK=y +# CONFIG_BOOTP_NISDOMAIN is not set +# CONFIG_BOOTP_NTPSERVER is not set +# CONFIG_CMD_PCAP is not set +CONFIG_BOOTP_PXE=y +CONFIG_BOOTP_PXE_CLIENTARCH=0x16 +# CONFIG_BOOTP_PXE_DHCP_OPTION is not set +CONFIG_BOOTP_VCI_STRING="U-Boot.armv8" +# CONFIG_CMD_TFTPPUT is not set +# CONFIG_CMD_TFTPSRV is not set +CONFIG_NET_TFTP_VARS=y +# CONFIG_CMD_RARP is not set +# CONFIG_CMD_NFS is not set +# CONFIG_SYS_DISABLE_AUTOLOAD is not set +# CONFIG_CMD_CDP is not set +# CONFIG_CMD_SNTP is not set +# CONFIG_CMD_LINK_LOCAL is not set +# CONFIG_CMD_ETHSW is not set +# CONFIG_CMD_WOL is not set +CONFIG_CMD_DHCP=y +# CONFIG_CMD_DNS is not set +CONFIG_CMD_MII=y +CONFIG_CMD_MDIO=y +CONFIG_CMD_PING=y +CONFIG_CMD_TFTPBOOT=y +# CONFIG_CMD_WGET is not set +CONFIG_CMD_PXE=y + +# +# Misc commands +# +# CONFIG_CMD_2048 is not set +# CONFIG_CMD_BMP is not set +# CONFIG_CMD_BSP is not set +CONFIG_CMD_BLOCK_CACHE=y +# CONFIG_CMD_CACHE is not set +# CONFIG_CMD_CONITRACE is not set +CONFIG_CMD_CLS=y +CONFIG_CMD_EFIDEBUG=y +CONFIG_CMD_EFICONFIG=y +# CONFIG_CMD_EXCEPTION is not set +# CONFIG_CMD_INI is not set +# CONFIG_CMD_DATE is not set +CONFIG_CMD_TIME=y +# CONFIG_CMD_GETTIME is not set +# CONFIG_CMD_PAUSE is not set +# CONFIG_CMD_RNG is not set +# CONFIG_CMD_KASLRSEED is not set +CONFIG_CMD_SLEEP=y +# CONFIG_CMD_TIMER is not set +# CONFIG_CMD_SYSBOOT is not set +# CONFIG_CMD_QFW is not set +# CONFIG_CMD_PSTORE is not set +# CONFIG_CMD_TERMINAL is not set +# CONFIG_CMD_UUID is not set +CONFIG_CMD_VIDCONSOLE=y +# CONFIG_CMD_SELECT_FONT is not set + +# +# TI specific command line interface +# + +# +# Power commands +# +CONFIG_CMD_PMIC=y +CONFIG_CMD_REGULATOR=y + +# +# Security commands +# +# CONFIG_CMD_AES is not set +# CONFIG_CMD_BLOB is not set +# CONFIG_CMD_HASH is not set +# CONFIG_CMD_HVC is not set +# CONFIG_CMD_SMC is not set + +# +# Firmware commands +# +CONFIG_CMD_CROS_EC=y + +# +# Filesystem commands +# +# CONFIG_CMD_BTRFS is not set +# CONFIG_CMD_EROFS is not set +CONFIG_CMD_EXT2=y +CONFIG_CMD_EXT4=y +# CONFIG_CMD_EXT4_WRITE is not set +CONFIG_CMD_FAT=y +# CONFIG_CMD_SQUASHFS is not set +CONFIG_CMD_FS_GENERIC=y +# CONFIG_CMD_FS_UUID is not set +# CONFIG_CMD_JFFS2 is not set +# CONFIG_CMD_MTDPARTS is not set +CONFIG_MTDIDS_DEFAULT="" +CONFIG_MTDPARTS_DEFAULT="" +# CONFIG_CMD_ZFS is not set + +# +# Debug commands +# +CONFIG_CMD_CYCLIC=y +# CONFIG_CMD_DIAG is not set +# CONFIG_CMD_EVENT is not set +CONFIG_CMD_LOG=y +# CONFIG_CMD_UBI is not set + +# +# Partition Types +# +CONFIG_PARTITIONS=y +CONFIG_SPL_PARTITIONS=y +# CONFIG_MAC_PARTITION is not set +# CONFIG_SPL_MAC_PARTITION is not set +# CONFIG_TEGRA_PARTITION is not set +CONFIG_DOS_PARTITION=y +CONFIG_SPL_DOS_PARTITION=y +CONFIG_ISO_PARTITION=y +# CONFIG_SPL_ISO_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_SPL_AMIGA_PARTITION is not set +CONFIG_EFI_PARTITION=y +CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128 +CONFIG_EFI_PARTITION_ENTRIES_OFF=0 +CONFIG_SPL_EFI_PARTITION=y +CONFIG_PARTITION_UUIDS=y +CONFIG_SPL_PARTITION_UUIDS=y +CONFIG_PARTITION_TYPE_GUID=y +# CONFIG_SPL_PARTITION_TYPE_GUID is not set +CONFIG_SUPPORT_OF_CONTROL=y +CONFIG_PYLIBFDT=y +CONFIG_DTOC=y +CONFIG_BINMAN=y + +# +# Device Tree Control +# +CONFIG_OF_CONTROL=y +CONFIG_OF_REAL=y +CONFIG_SPL_OF_CONTROL=y +CONFIG_TPL_OF_CONTROL=y +CONFIG_OF_LIVE=y +CONFIG_OF_UPSTREAM=y +# CONFIG_OF_UPSTREAM_BUILD_VENDOR is not set +# CONFIG_OF_UPSTREAM_INCLUDE_LOCAL_FALLBACK_DTBOS is not set +CONFIG_OF_SEPARATE=y +# CONFIG_OF_EMBED is not set +# CONFIG_OF_INITIAL_DTB_READONLY is not set +# CONFIG_OF_BOARD is not set +# CONFIG_OF_OMIT_DTB is not set +CONFIG_DEVICE_TREE_INCLUDES="" +CONFIG_OF_LIST="rockchip/rk3399-gru-kevin" +CONFIG_OF_OVERLAY_LIST="" +# CONFIG_MULTI_DTB_FIT is not set +# CONFIG_SPL_MULTI_DTB_FIT is not set +CONFIG_SPL_OF_LIST="rockchip/rk3399-gru-kevin" +CONFIG_OF_TAG_MIGRATE=y +CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" +# CONFIG_OF_DTB_PROPS_REMOVE is not set +# CONFIG_SPL_OF_PLATDATA is not set +CONFIG_SPL_OF_REAL=y +CONFIG_TPL_OF_REAL=y +# CONFIG_TPL_OF_PLATDATA is not set + +# +# Environment +# +CONFIG_ENV_SUPPORT=y +CONFIG_ENV_CALLBACK_LIST_STATIC="" +CONFIG_SAVEENV=y +# CONFIG_ENV_OVERWRITE is not set +# CONFIG_OVERWRITE_ETHADDR_ONCE is not set +CONFIG_ENV_MIN_ENTRIES=64 +CONFIG_ENV_MAX_ENTRIES=512 +CONFIG_ENV_IS_DEFAULT=y +CONFIG_ENV_IS_NOWHERE=y +# CONFIG_ENV_IS_IN_EEPROM is not set +# CONFIG_ENV_IS_IN_FAT is not set +# CONFIG_ENV_IS_IN_EXT4 is not set +# CONFIG_ENV_IS_IN_FLASH is not set +# CONFIG_ENV_IS_IN_MMC is not set +# CONFIG_ENV_IS_IN_NAND is not set +# CONFIG_ENV_IS_IN_NVRAM is not set +# CONFIG_ENV_IS_IN_REMOTE is not set +# CONFIG_ENV_IS_IN_SPI_FLASH is not set +# CONFIG_SYS_REDUNDAND_ENVIRONMENT is not set +CONFIG_SYS_RELOC_GD_ENV_ADDR=y +# CONFIG_USE_DEFAULT_ENV_FILE is not set +# CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG is not set +# CONFIG_ENV_IMPORT_FDT is not set +# CONFIG_ENV_APPEND is not set +# CONFIG_ENV_WRITEABLE_LIST is not set +# CONFIG_ENV_ACCESS_IGNORE_FORCE is not set +# CONFIG_USE_BOOTFILE is not set +# CONFIG_USE_ETHPRIME is not set +# CONFIG_USE_HOSTNAME is not set +# CONFIG_VERSION_VARIABLE is not set + +# +# Networking +# +# CONFIG_NO_NET is not set +CONFIG_NET=y +# CONFIG_NET_LWIP is not set +CONFIG_ARP_TIMEOUT=5000 +CONFIG_NET_RETRY_COUNT=5 +# CONFIG_PROT_UDP is not set +# CONFIG_BOOTP_SEND_HOSTNAME is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_IP_DEFRAG is not set +# CONFIG_SYS_FAULT_ECHO_LINK_DOWN is not set +# CONFIG_TFTP_PORT is not set +CONFIG_TFTP_WINDOWSIZE=1 +# CONFIG_TFTP_TSIZE is not set +# CONFIG_SERVERIP_FROM_PROXYDHCP is not set +CONFIG_SERVERIP_FROM_PROXYDHCP_DELAY_MS=100 +# CONFIG_KEEP_SERVERADDR is not set +# CONFIG_UDP_CHECKSUM is not set +# CONFIG_BOOTP_SERVERIP is not set +CONFIG_BOOTP_MAX_ROOT_PATH_LEN=64 +# CONFIG_USE_GATEWAYIP is not set +# CONFIG_USE_IPADDR is not set +# CONFIG_USE_NETMASK is not set +# CONFIG_USE_ROOTPATH is not set +# CONFIG_USE_SERVERIP is not set +# CONFIG_PROT_TCP is not set +# CONFIG_IPV6 is not set +CONFIG_BOOTDEV_ETH=y +# CONFIG_NET_RANDOM_ETHADDR is not set +# CONFIG_WGET is not set +CONFIG_TFTP_BLOCKSIZE=1468 +CONFIG_SYS_RX_ETH_BUFFER=4 + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_DM=y +CONFIG_SPL_DM=y +CONFIG_TPL_DM=y +# CONFIG_DM_WARN is not set +# CONFIG_SPL_DM_WARN is not set +# CONFIG_DM_DEBUG is not set +# CONFIG_DM_STATS is not set +# CONFIG_SPL_DM_STATS is not set +CONFIG_DM_DEVICE_REMOVE=y +CONFIG_DM_EVENT=y +# CONFIG_SPL_DM_DEVICE_REMOVE is not set +CONFIG_DM_STDIO=y +CONFIG_DM_SEQ_ALIAS=y +CONFIG_SPL_DM_SEQ_ALIAS=y +# CONFIG_TPL_DM_SEQ_ALIAS is not set +CONFIG_SPL_DM_INLINE_OFNODE=y +CONFIG_TPL_DM_INLINE_OFNODE=y +# CONFIG_DM_DMA is not set +CONFIG_REGMAP=y +CONFIG_SPL_REGMAP=y +CONFIG_TPL_REGMAP=y +CONFIG_SYSCON=y +CONFIG_SPL_SYSCON=y +CONFIG_TPL_SYSCON=y +# CONFIG_DEVRES is not set +CONFIG_SIMPLE_BUS=y +CONFIG_SPL_SIMPLE_BUS=y +# CONFIG_TPL_SIMPLE_BUS is not set +# CONFIG_SIMPLE_BUS_CORRECT_RANGE is not set +CONFIG_OF_TRANSLATE=y +# CONFIG_SPL_OF_TRANSLATE is not set +# CONFIG_TPL_OF_TRANSLATE is not set +# CONFIG_TRANSLATION_OFFSET is not set +CONFIG_OFNODE_MULTI_TREE=y +CONFIG_OFNODE_MULTI_TREE_MAX=4 +CONFIG_BOUNCE_BUFFER=y +CONFIG_ADC=y +# CONFIG_SPL_ADC is not set +# CONFIG_ADC_EXYNOS is not set +# CONFIG_ADC_SANDBOX is not set +# CONFIG_SARADC_MESON is not set +CONFIG_SARADC_ROCKCHIP=y +# CONFIG_ADC_IMX93 is not set +# CONFIG_SATA is not set +# CONFIG_SCSI_AHCI is not set + +# +# SATA/SCSI device support +# +# CONFIG_AXI is not set + +# +# Bus devices +# +CONFIG_BLK=y +CONFIG_SPL_BLK=y +# CONFIG_TPL_BLK is not set +CONFIG_BLOCK_CACHE=y +# CONFIG_BLKMAP is not set +# CONFIG_SPL_BLOCK_CACHE is not set +# CONFIG_EFI_MEDIA is not set +# CONFIG_IDE is not set +# CONFIG_LBA48 is not set +# CONFIG_SYS_64BIT_LBA is not set +# CONFIG_RKMTD is not set +# CONFIG_BOOTCOUNT_LIMIT is not set + +# +# Button Support +# +# CONFIG_BUTTON is not set + +# +# Cache Controller drivers +# +# CONFIG_CACHE is not set +# CONFIG_L2X0_CACHE is not set +# CONFIG_ANDES_L2_CACHE is not set +# CONFIG_NCORE_CACHE is not set +# CONFIG_SIFIVE_CCACHE is not set +# CONFIG_SIFIVE_PL2 is not set + +# +# Clock +# +CONFIG_CLK=y +CONFIG_SPL_CLK=y +CONFIG_TPL_CLK=y +# CONFIG_SPL_CLK_CCF is not set +# CONFIG_CLK_CCF is not set +# CONFIG_CLK_GPIO is not set +# CONFIG_SPL_CLK_GPIO is not set +# CONFIG_CLK_STUB is not set +# CONFIG_CLK_CDCE9XX is not set +# CONFIG_CLK_ICS8N3QV01 is not set +# CONFIG_CLK_K210 is not set +# CONFIG_CLK_MPC83XX is not set +# CONFIG_CLK_XLNX_CLKWZRD is not set +# CONFIG_COMMON_CLK_ADI_SHARED is not set +# CONFIG_CLK_AT91 is not set +# CONFIG_CLK_RCAR is not set +# CONFIG_CLK_RCAR_CPG_LIB is not set +# CONFIG_CLK_SOPHGO_CV1800B is not set +# CONFIG_CLK_SIFIVE is not set +# CONFIG_CLK_TI_AM3_DPLL is not set +# CONFIG_CLK_TI_CTRL is not set +# CONFIG_CLK_TI_GATE is not set +# CONFIG_CLK_K3 is not set +# CONFIG_SPL_CLK_K3 is not set +# CONFIG_CPU is not set + +# +# Hardware crypto devices +# +# CONFIG_DM_HASH is not set +# CONFIG_FSL_CAAM is not set +CONFIG_CAAM_64BIT=y +# CONFIG_SYS_FSL_SEC_BE is not set +# CONFIG_SYS_FSL_SEC_LE is not set +# CONFIG_FSL_DCP_RNG is not set +# CONFIG_NPCM_AES is not set +# CONFIG_NPCM_SHA is not set +# CONFIG_DDR_SPD is not set +# CONFIG_IMX_SNPS_DDR_PHY is not set + +# +# Demo for driver model +# +# CONFIG_DM_DEMO is not set + +# +# DFU support +# + +# +# DMA Support +# +# CONFIG_DMA is not set +# CONFIG_DMA_LPC32XX is not set +# CONFIG_TI_EDMA3 is not set +# CONFIG_DMA_LEGACY is not set + +# +# Extcon Support +# +# CONFIG_EXTCON is not set + +# +# Fastboot support +# +# CONFIG_UDP_FUNCTION_FASTBOOT is not set +# CONFIG_TCP_FUNCTION_FASTBOOT is not set +CONFIG_FIRMWARE=y +# CONFIG_SPL_FIRMWARE is not set +CONFIG_ARM_PSCI_FW=y +# CONFIG_ZYNQMP_FIRMWARE is not set +# CONFIG_ARM_SMCCC_FEATURES is not set +# CONFIG_ARM_FFA_TRANSPORT is not set +# CONFIG_SCMI_FIRMWARE is not set +# CONFIG_DM_FUZZING_ENGINE is not set + +# +# FPGA support +# +# CONFIG_FPGA_ALTERA is not set +# CONFIG_FPGA_SOCFPGA is not set +# CONFIG_FPGA_LATTICE is not set +# CONFIG_FPGA_XILINX is not set +# CONFIG_DM_FPGA is not set +# CONFIG_FWU_MDATA is not set +CONFIG_GPIO=y +CONFIG_SPL_DM_GPIO=y +CONFIG_TPL_DM_GPIO=y +# CONFIG_GPIO_HOG is not set +# CONFIG_SPL_GPIO_HOG is not set +# CONFIG_DM_GPIO_LOOKUP_LABEL is not set +# CONFIG_SPL_DM_GPIO_LOOKUP_LABEL is not set +# CONFIG_ALTERA_PIO is not set +# CONFIG_BCM2835_GPIO is not set +# CONFIG_DWAPB_GPIO is not set +# CONFIG_AT91_GPIO is not set +# CONFIG_ATMEL_PIO4 is not set +# CONFIG_ASPEED_GPIO is not set +# CONFIG_ASPEED_SGPIO is not set +# CONFIG_ASPEED_G7_GPIO is not set +# CONFIG_DA8XX_GPIO is not set +# CONFIG_FXL6408_GPIO is not set +# CONFIG_HIKEY_GPIO is not set +# CONFIG_INTEL_BROADWELL_GPIO is not set +# CONFIG_INTEL_GPIO is not set +# CONFIG_INTEL_ICH6_GPIO is not set +# CONFIG_IMX_RGPIO2P is not set +# CONFIG_IPROC_GPIO is not set +# CONFIG_HSDK_CREG_GPIO is not set +# CONFIG_KIRKWOOD_GPIO is not set +# CONFIG_LPC32XX_GPIO is not set +# CONFIG_MAX7320_GPIO is not set +# CONFIG_MCP230XX_GPIO is not set +# CONFIG_MSM_GPIO is not set +# CONFIG_MXC_GPIO is not set +# CONFIG_MXS_GPIO is not set +# CONFIG_NPCM_GPIO is not set +# CONFIG_NPCM_SGPIO is not set +# CONFIG_CMD_PCA953X is not set +# CONFIG_PCF8575_GPIO is not set +CONFIG_ROCKCHIP_GPIO=y +# CONFIG_XILINX_GPIO is not set +# CONFIG_TCA642X is not set +# CONFIG_TEGRA_GPIO is not set +# CONFIG_TEGRA186_GPIO is not set +# CONFIG_VYBRID_GPIO is not set +# CONFIG_SIFIVE_GPIO is not set +# CONFIG_ZYNQ_GPIO is not set +# CONFIG_DM_74X164 is not set +# CONFIG_DM_PCA953X is not set +# CONFIG_SPL_DM_PCA953X is not set +# CONFIG_PCA953X is not set +# CONFIG_MPC8XXX_GPIO is not set +# CONFIG_MPC8XX_GPIO is not set +# CONFIG_NX_GPIO is not set +# CONFIG_NOMADIK_GPIO is not set +# CONFIG_SLG7XL45106_I2C_GPO is not set +# CONFIG_FTGPIO010 is not set +# CONFIG_ADP5585_GPIO is not set + +# +# Hardware Spinlock Support +# +# CONFIG_DM_HWSPINLOCK is not set +CONFIG_I2C=y +CONFIG_DM_I2C=y +CONFIG_SPL_DM_I2C=y +# CONFIG_TPL_DM_I2C is not set +CONFIG_I2C_CROS_EC_TUNNEL=y +# CONFIG_I2C_CROS_EC_LDO is not set +# CONFIG_I2C_SET_DEFAULT_BUS_NUM is not set +# CONFIG_DM_I2C_GPIO is not set +# CONFIG_SYS_I2C_IPROC is not set +# CONFIG_SYS_I2C_FSL is not set +# CONFIG_SYS_I2C_CADENCE is not set +# CONFIG_SYS_I2C_DW is not set +# CONFIG_SYS_I2C_INTEL is not set +# CONFIG_SYS_I2C_IMX_LPI2C is not set +# CONFIG_SYS_I2C_MTK is not set +# CONFIG_SYS_I2C_MICROCHIP is not set +# CONFIG_SYS_I2C_MXC is not set +# CONFIG_SYS_I2C_NEXELL is not set +# CONFIG_SYS_I2C_NPCM is not set +# CONFIG_SYS_I2C_OCORES is not set +CONFIG_SYS_I2C_ROCKCHIP=y +# CONFIG_SYS_I2C_SOFT is not set +# CONFIG_SYS_I2C_S3C24X0 is not set +# CONFIG_SYS_I2C_MV is not set +# CONFIG_SYS_I2C_MVTWSI is not set +# CONFIG_SYS_I2C_XILINX_XIIC is not set +# CONFIG_SYS_I2C_IHS is not set +CONFIG_I2C_MUX=y +# CONFIG_SPL_I2C_MUX is not set +# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_GPIO is not set +CONFIG_INPUT=y +# CONFIG_SPL_INPUT is not set +# CONFIG_TPL_INPUT is not set +CONFIG_DM_KEYBOARD=y +# CONFIG_SPL_DM_KEYBOARD is not set +# CONFIG_TPL_DM_KEYBOARD is not set +# CONFIG_APPLE_SPI_KEYB is not set +# CONFIG_BUTTON_KEYBOARD is not set +CONFIG_CROS_EC_KEYB=y +# CONFIG_I8042_KEYB is not set +# CONFIG_TEGRA_KEYBOARD is not set +# CONFIG_TWL4030_INPUT is not set + +# +# IOMMU device drivers +# +# CONFIG_IOMMU is not set + +# +# LED Support +# +# CONFIG_LED is not set +# CONFIG_LED_BOOT is not set +# CONFIG_LED_ACTIVITY is not set +# CONFIG_SPL_LED is not set +# CONFIG_LED_STATUS is not set + +# +# Mailbox Controller Support +# +# CONFIG_DM_MAILBOX is not set + +# +# Memory Controller drivers +# +# CONFIG_MEMORY is not set +# CONFIG_ATMEL_EBI is not set +# CONFIG_MFD_ATMEL_SMC is not set + +# +# Multifunction device drivers +# +CONFIG_MISC=y +CONFIG_SPL_MISC=y +CONFIG_TPL_MISC=y +# CONFIG_NVMEM is not set +# CONFIG_SPL_NVMEM is not set +# CONFIG_ALTERA_SYSID is not set +# CONFIG_ATSHA204A is not set +# CONFIG_GATEWORKS_SC is not set +CONFIG_ROCKCHIP_EFUSE=y +# CONFIG_ROCKCHIP_OTP is not set +CONFIG_ROCKCHIP_IODOMAIN=y +# CONFIG_SIFIVE_OTP is not set +# CONFIG_SMSC_LPC47M is not set +# CONFIG_SMSC_SIO1007 is not set +# CONFIG_VEXPRESS_CONFIG is not set +CONFIG_CROS_EC=y +# CONFIG_SPL_CROS_EC is not set +# CONFIG_TPL_CROS_EC is not set +# CONFIG_CROS_EC_I2C is not set +# CONFIG_CROS_EC_LPC is not set +# CONFIG_SPL_CROS_EC_LPC is not set +# CONFIG_TPL_CROS_EC_LPC is not set +CONFIG_CROS_EC_SPI=y +# CONFIG_DS4510 is not set +# CONFIG_FSL_SEC_MON is not set +# CONFIG_IRQ is not set +# CONFIG_NPCM_HOST is not set +# CONFIG_NUVOTON_NCT6102D is not set +CONFIG_PWRSEQ=y +# CONFIG_SPL_PWRSEQ is not set +# CONFIG_PCA9551_LED is not set +# CONFIG_TEST_DRV is not set +# CONFIG_TURRIS_OMNIA_MCU is not set +# CONFIG_USB_HUB_USB251XB is not set +# CONFIG_TWL4030_LED is not set +# CONFIG_WINBOND_W83627 is not set +# CONFIG_I2C_EEPROM is not set +# CONFIG_SPL_I2C_EEPROM is not set +# CONFIG_GDSYS_RXAUI_CTRL is not set +# CONFIG_GDSYS_IOEP is not set +# CONFIG_MPC83XX_SERDES is not set +# CONFIG_FS_LOADER is not set +# CONFIG_SPL_FS_LOADER is not set +# CONFIG_GDSYS_SOC is not set +# CONFIG_IHS_FPGA is not set +# CONFIG_MICROCHIP_FLEXCOM is not set +# CONFIG_ESM_PMIC is not set +# CONFIG_SL28CPLD is not set +# CONFIG_SPL_SOCFPGA_DT_REG is not set + +# +# MMC Host controller Support +# +CONFIG_MMC=y +CONFIG_MMC_WRITE=y +CONFIG_MMC_PWRSEQ=y +# CONFIG_MMC_BROKEN_CD is not set +CONFIG_DM_MMC=y +CONFIG_SPL_DM_MMC=y +# CONFIG_TPL_DM_MMC is not set +# CONFIG_MMC_SPI is not set +# CONFIG_ARM_PL180_MMCI is not set +CONFIG_MMC_QUIRKS=y +CONFIG_SYS_MMC_MAX_BLK_COUNT=65535 +CONFIG_MMC_HW_PARTITIONING=y +# CONFIG_SUPPORT_EMMC_RPMB is not set +# CONFIG_SUPPORT_EMMC_BOOT is not set +CONFIG_MMC_IO_VOLTAGE=y +CONFIG_MMC_SUPPORTS_TUNING=y +CONFIG_MMC_UHS_SUPPORT=y +CONFIG_MMC_HS400_ES_SUPPORT=y +CONFIG_MMC_HS400_SUPPORT=y +CONFIG_MMC_HS200_SUPPORT=y +CONFIG_MMC_VERBOSE=y +# CONFIG_MMC_TRACE is not set +CONFIG_MMC_DW=y +# CONFIG_MMC_DW_CORTINA is not set +# CONFIG_MMC_DW_K3 is not set +CONFIG_MMC_DW_ROCKCHIP=y +# CONFIG_MMC_DW_SNPS is not set +# CONFIG_MMC_MXC is not set +# CONFIG_MMC_PCI is not set +# CONFIG_MMC_OMAP_HS is not set +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_SDMA=y +# CONFIG_MMC_SDHCI_ADMA is not set +# CONFIG_MMC_SDHCI_ADMA_FORCE_32BIT is not set +CONFIG_MMC_SDHCI_ADMA_64BIT=y +# CONFIG_MMC_SDHCI_BCMSTB is not set +# CONFIG_MMC_SDHCI_CADENCE is not set +# CONFIG_MMC_SDHCI_CV1800B is not set +# CONFIG_MMC_SDHCI_IPROC is not set +# CONFIG_MMC_SDHCI_F_SDH30 is not set +# CONFIG_MMC_SDHCI_KONA is not set +# CONFIG_MMC_SDHCI_MSM is not set +# CONFIG_MMC_SDHCI_NPCM is not set +CONFIG_MMC_SDHCI_ROCKCHIP=y +# CONFIG_MMC_SDHCI_S5P is not set +# CONFIG_MMC_SDHCI_SNPS is not set +# CONFIG_MMC_SDHCI_STI is not set +# CONFIG_MMC_SDHCI_XENON is not set +# CONFIG_MMC_SDHCI_TANGIER is not set +# CONFIG_MMC_SDHCI_ZYNQ is not set +# CONFIG_MMC_PITON is not set +# CONFIG_STM32_SDMMC2 is not set +# CONFIG_FTSDC010 is not set +# CONFIG_FSL_ESDHC is not set +# CONFIG_FSL_ESDHC_IMX is not set + +# +# MTD Support +# +CONFIG_MTD=y +# CONFIG_DM_MTD is not set +# CONFIG_MTD_NOR_FLASH is not set +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_SYS_MTDPARTS_RUNTIME is not set +# CONFIG_FLASH_CFI_DRIVER is not set +# CONFIG_SAMSUNG_ONENAND is not set +# CONFIG_USE_SYS_MAX_FLASH_BANKS is not set +# CONFIG_MTD_RAW_NAND is not set + +# +# SPI Flash Support +# +CONFIG_DM_SPI_FLASH=y +CONFIG_SPI_FLASH=y +# CONFIG_BOOTDEV_SPI_FLASH is not set +# CONFIG_SPI_FLASH_SFDP_SUPPORT is not set +CONFIG_SPI_FLASH_SMART_HWCAPS=y +# CONFIG_SPI_NOR_BOOT_SOFT_RESET_EXT_INVERT is not set +# CONFIG_SPI_FLASH_SOFT_RESET is not set +# CONFIG_SPI_FLASH_BAR is not set +CONFIG_SPI_FLASH_LOCK=y +CONFIG_SPI_FLASH_UNLOCK_ALL=y +# CONFIG_SPI_FLASH_ATMEL is not set +# CONFIG_SPI_FLASH_EON is not set +CONFIG_SPI_FLASH_GIGADEVICE=y +# CONFIG_SPI_FLASH_ISSI is not set +# CONFIG_SPI_FLASH_MACRONIX is not set +# CONFIG_SPI_FLASH_PUYA is not set +# CONFIG_SPI_FLASH_SILICONKAISER is not set +# CONFIG_SPI_FLASH_SPANSION is not set +# CONFIG_SPI_FLASH_STMICRO is not set +# CONFIG_SPI_FLASH_SST is not set +CONFIG_SPI_FLASH_WINBOND=y +# CONFIG_SPI_FLASH_XMC is not set +# CONFIG_SPI_FLASH_XTX is not set +# CONFIG_SPI_FLASH_ZBIT is not set +CONFIG_SPI_FLASH_USE_4K_SECTORS=y +# CONFIG_SPI_FLASH_DATAFLASH is not set +# CONFIG_SPI_FLASH_MTD is not set + +# +# UBI support +# +# CONFIG_UBI_SILENCE_MSG is not set +# CONFIG_MTD_UBI is not set +# CONFIG_NVMXIP is not set +# CONFIG_NVMXIP_QSPI is not set + +# +# Multiplexer drivers +# +# CONFIG_MULTIPLEXER is not set +# CONFIG_BITBANGMII is not set +# CONFIG_MV88E6352_SWITCH is not set +CONFIG_PHYLIB=y +# CONFIG_PHY_ADDR_ENABLE is not set +CONFIG_PHY_ANEG_TIMEOUT=4000 +# CONFIG_B53_SWITCH is not set +# CONFIG_MV88E61XX_SWITCH is not set +# CONFIG_PHYLIB_10G is not set +# CONFIG_PHY_ADIN is not set +# CONFIG_PHY_AQUANTIA is not set +# CONFIG_PHY_ATHEROS is not set +# CONFIG_SPL_PHY_ATHEROS is not set +# CONFIG_PHY_BROADCOM is not set +# CONFIG_PHY_CORTINA is not set +# CONFIG_PHY_DAVICOM is not set +# CONFIG_PHY_ET1011C is not set +# CONFIG_PHY_LXT is not set +# CONFIG_PHY_MARVELL is not set +# CONFIG_PHY_MARVELL_10G is not set +# CONFIG_PHY_MESON_GXL is not set +# CONFIG_PHY_MICREL is not set +# CONFIG_PHY_MOTORCOMM is not set +# CONFIG_PHY_MSCC is not set +# CONFIG_PHY_NATSEMI is not set +# CONFIG_PHY_NXP_C45_TJA11XX is not set +# CONFIG_PHY_NXP_TJA11XX is not set +# CONFIG_PHY_REALTEK is not set +# CONFIG_PHY_SMSC is not set +# CONFIG_PHY_TERANETICS is not set +# CONFIG_PHY_TI is not set +# CONFIG_PHY_TI_DP83867 is not set +# CONFIG_PHY_TI_DP83869 is not set +# CONFIG_PHY_TI_GENERIC is not set +# CONFIG_PHY_VITESSE is not set +# CONFIG_PHY_XILINX is not set +# CONFIG_PHY_XILINX_GMII2RGMII is not set +# CONFIG_PHY_XWAY is not set +# CONFIG_PHY_ETHERNET_ID is not set +# CONFIG_PHY_FIXED is not set +# CONFIG_PHY_NCSI is not set +# CONFIG_FSL_MEMAC is not set +CONFIG_PHY_RESET_DELAY=0 +# CONFIG_FSL_PFE is not set +CONFIG_ETH=y +CONFIG_DM_ETH=y +# CONFIG_DM_MDIO is not set +# CONFIG_DM_ETH_PHY is not set +CONFIG_NETDEVICES=y +CONFIG_PHY_GIGE=y +# CONFIG_ALTERA_TSE is not set +# CONFIG_BCM_SF2_ETH is not set +# CONFIG_BCMGENET is not set +# CONFIG_BNXT_ETH is not set +# CONFIG_CALXEDA_XGMAC is not set +# CONFIG_DWC_ETH_XGMAC is not set +# CONFIG_DRIVER_DM9000 is not set +# CONFIG_DWC_ETH_QOS is not set +# CONFIG_EEPRO100 is not set +CONFIG_ETH_DESIGNWARE=y +# CONFIG_ETH_DESIGNWARE_MESON8B is not set +# CONFIG_ETH_DESIGNWARE_SOCFPGA is not set +# CONFIG_ETH_DESIGNWARE_S700 is not set +# CONFIG_DW_ALTDESCRIPTOR is not set +# CONFIG_ETHOC is not set +# CONFIG_FMAN_ENET is not set +# CONFIG_FTMAC100 is not set +# CONFIG_FTGMAC100 is not set +# CONFIG_MCFFEC is not set +# CONFIG_KS8851_MLL is not set +# CONFIG_LITEETH is not set +# CONFIG_MACB is not set +# CONFIG_NET_NPCM750 is not set +# CONFIG_PCH_GBE is not set +# CONFIG_RGMII is not set +# CONFIG_MII is not set +# CONFIG_RMII is not set +# CONFIG_PCNET is not set +# CONFIG_QE_UEC is not set +# CONFIG_RTL8139 is not set +# CONFIG_SMC911X is not set +# CONFIG_SUN7I_GMAC is not set +# CONFIG_SUN4I_EMAC is not set +# CONFIG_SUN8I_EMAC is not set +# CONFIG_SH_ETHER is not set +# CONFIG_DRIVER_TI_CPSW is not set +# CONFIG_DRIVER_TI_EMAC is not set +# CONFIG_DRIVER_TI_KEYSTONE_NET is not set +# CONFIG_TULIP is not set +# CONFIG_XILINX_AXIEMAC is not set +# CONFIG_VSC7385_ENET is not set +# CONFIG_XILINX_EMACLITE is not set +# CONFIG_ZYNQ_GEM is not set +CONFIG_GMAC_ROCKCHIP=y +# CONFIG_SYS_DPAA_QBMAN is not set +# CONFIG_TSEC_ENET is not set +# CONFIG_MEDIATEK_ETH is not set +# CONFIG_HIFEMAC_ETH is not set +# CONFIG_HIGMACV300_ETH is not set +# CONFIG_NVME is not set +# CONFIG_NVME_APPLE is not set + +# +# PCI Endpoint +# +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_X86_PCH7 is not set +# CONFIG_X86_PCH9 is not set + +# +# PHY Subsystem +# +CONFIG_PHY=y +# CONFIG_SPL_PHY is not set +# CONFIG_NOP_PHY is not set +# CONFIG_MIPI_DPHY_HELPERS is not set +# CONFIG_BCM_SR_PCIE_PHY is not set +# CONFIG_OMAP_USB2_PHY is not set + +# +# Rockchip PHY driver +# +# CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY is not set +# CONFIG_PHY_ROCKCHIP_INNO_HDMI is not set +CONFIG_PHY_ROCKCHIP_INNO_USB2=y +# CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY is not set +# CONFIG_PHY_ROCKCHIP_PCIE is not set +# CONFIG_PHY_ROCKCHIP_SNPS_PCIE3 is not set +# CONFIG_PHY_ROCKCHIP_USBDP is not set +CONFIG_PHY_ROCKCHIP_TYPEC=y +# CONFIG_PHY_CADENCE_SIERRA is not set +# CONFIG_PHY_CADENCE_TORRENT is not set +# CONFIG_MSM8916_USB_PHY is not set +# CONFIG_MVEBU_COMPHY_SUPPORT is not set + +# +# Pin controllers +# +CONFIG_PINCTRL=y +CONFIG_PINCTRL_FULL=y +CONFIG_PINCTRL_GENERIC=y +CONFIG_PINMUX=y +# CONFIG_PINCONF is not set +CONFIG_PINCONF_RECURSIVE=y +CONFIG_SPL_PINCTRL=y +# CONFIG_TPL_PINCTRL is not set +CONFIG_SPL_PINCTRL_FULL=y +CONFIG_SPL_PINCTRL_GENERIC=y +CONFIG_SPL_PINMUX=y +# CONFIG_SPL_PINCONF is not set +CONFIG_SPL_PINCONF_RECURSIVE=y +# CONFIG_PINCTRL_AT91 is not set +# CONFIG_PINCTRL_AT91PIO4 is not set +# CONFIG_PINCTRL_INTEL is not set +# CONFIG_PINCTRL_QE is not set +# CONFIG_PINCTRL_ROCKCHIP_RV1108 is not set +# CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_STM32 is not set +# CONFIG_PINCTRL_STMFX is not set +# CONFIG_SPL_PINCTRL_STMFX is not set +# CONFIG_PINCTRL_K210 is not set +CONFIG_PINCTRL_ROCKCHIP=y +CONFIG_SPL_PINCTRL_ROCKCHIP=y +# CONFIG_PINCTRL_TEGRA is not set +# CONFIG_SPL_PINCTRL_TEGRA is not set +CONFIG_POWER=y +# CONFIG_POWER_LEGACY is not set +# CONFIG_ACPI_PMC is not set +# CONFIG_SPL_ACPI_PMC is not set +# CONFIG_TPL_ACPI_PMC is not set + +# +# Power Domain Support +# +# CONFIG_POWER_DOMAIN is not set +CONFIG_DM_PMIC=y +CONFIG_SPL_DM_PMIC=y +CONFIG_PMIC_CHILDREN=y +CONFIG_SPL_PMIC_CHILDREN=y +# CONFIG_PMIC_AB8500 is not set +# CONFIG_PMIC_ACT8846 is not set +# CONFIG_PMIC_AXP is not set +# CONFIG_SPL_PMIC_AXP is not set +# CONFIG_DM_PMIC_DA9063 is not set +# CONFIG_SPL_DM_PMIC_DA9063 is not set +# CONFIG_PMIC_AS3722 is not set +# CONFIG_DM_PMIC_BD71837 is not set +# CONFIG_SPL_DM_PMIC_BD71837 is not set +# CONFIG_DM_PMIC_FAN53555 is not set +# CONFIG_DM_PMIC_MP5416 is not set +# CONFIG_SPL_DM_PMIC_MP5416 is not set +# CONFIG_DM_PMIC_PCA9450 is not set +# CONFIG_SPL_DM_PMIC_PCA9450 is not set +# CONFIG_DM_PMIC_PFUZE100 is not set +# CONFIG_SPL_DM_PMIC_PFUZE100 is not set +# CONFIG_DM_PMIC_MAX77663 is not set +# CONFIG_DM_PMIC_MAX77686 is not set +# CONFIG_DM_PMIC_MAX8998 is not set +# CONFIG_DM_PMIC_MC34708 is not set +# CONFIG_PMIC_MAX8997 is not set +# CONFIG_PMIC_QCOM is not set +CONFIG_PMIC_RK8XX=y +# CONFIG_SPL_PMIC_RK8XX is not set +# CONFIG_PMIC_S2MPS11 is not set +# CONFIG_DM_PMIC_SANDBOX is not set +# CONFIG_PMIC_S5M8767 is not set +# CONFIG_PMIC_RN5T567 is not set +# CONFIG_SPL_PMIC_RN5T567 is not set +# CONFIG_PMIC_TPS65090 is not set +# CONFIG_PMIC_PALMAS is not set +# CONFIG_PMIC_LP873X is not set +# CONFIG_PMIC_LP87565 is not set +# CONFIG_DM_PMIC_TPS65910 is not set +# CONFIG_DM_PMIC_TPS80031 is not set +# CONFIG_PMIC_STPMIC1 is not set +# CONFIG_SPL_PMIC_PALMAS is not set +# CONFIG_SPL_PMIC_LP873X is not set +# CONFIG_SPL_PMIC_LP87565 is not set +# CONFIG_PMIC_TPS65941 is not set +# CONFIG_PMIC_TPS65219 is not set +# CONFIG_PMIC_RAA215300 is not set +# CONFIG_PMIC_TPS65217 is not set +# CONFIG_POWER_TPS65218 is not set +# CONFIG_POWER_TPS62362 is not set +# CONFIG_SPL_POWER_TPS62362 is not set +# CONFIG_SPL_POWER_TPS65910 is not set +CONFIG_DM_REGULATOR=y +CONFIG_REGULATOR_PWM=y +# CONFIG_SPL_REGULATOR_PWM is not set +CONFIG_DM_REGULATOR_COMMON=y +CONFIG_SPL_DM_REGULATOR_COMMON=y +CONFIG_DM_REGULATOR_FIXED=y +CONFIG_SPL_DM_REGULATOR_FIXED=y +CONFIG_DM_REGULATOR_GPIO=y +# CONFIG_SPL_DM_REGULATOR_GPIO is not set +CONFIG_REGULATOR_RK8XX=y +# CONFIG_DM_REGULATOR_PBIAS is not set +# CONFIG_DM_REGULATOR_TPS62360 is not set +# CONFIG_DM_REGULATOR_TPS6287X is not set +# CONFIG_DM_REGULATOR_ANATOP is not set +# CONFIG_DM_REGULATOR_SCMI is not set +# CONFIG_TPS6586X_POWER is not set +# CONFIG_POWER_MT6323 is not set +CONFIG_DM_PWM=y +# CONFIG_PWM_ASPEED is not set +# CONFIG_PWM_CADENCE_TTC is not set +CONFIG_PWM_CROS_EC=y +# CONFIG_PWM_EXYNOS is not set +# CONFIG_PWM_IMX is not set +# CONFIG_PWM_MESON is not set +# CONFIG_PWM_MTK is not set +CONFIG_PWM_ROCKCHIP=y +# CONFIG_PWM_SANDBOX is not set +# CONFIG_PWM_SIFIVE is not set +# CONFIG_PWM_TEGRA is not set +# CONFIG_PWM_SUNXI is not set +# CONFIG_U_QE is not set +CONFIG_RAM=y +CONFIG_SPL_RAM=y +CONFIG_TPL_RAM=y +# CONFIG_STM32_SDRAM is not set +# CONFIG_MPC83XX_SDRAM is not set +# CONFIG_K3_DDRSS is not set +# CONFIG_IMXRT_SDRAM is not set +# CONFIG_CADENCE_DDR_CTRL is not set +CONFIG_RAM_ROCKCHIP=y +CONFIG_ROCKCHIP_SDRAM_COMMON=y +CONFIG_RAM_ROCKCHIP_DEBUG=y +# CONFIG_RAM_ROCKCHIP_DDR4 is not set +# CONFIG_RAM_ROCKCHIP_LPDDR2 is not set +# CONFIG_RAM_ROCKCHIP_LPDDR3 is not set +# CONFIG_RAM_ROCKCHIP_LPDDR4 is not set + +# +# Reboot Mode Support +# +# CONFIG_DM_REBOOT_MODE is not set + +# +# Remote Processor drivers +# +CONFIG_REMOTEPROC_MAX_FW_SIZE=0x10000 + +# +# Reset Controller Support +# +# CONFIG_RESET_AST2500 is not set +# CONFIG_RESET_AST2600 is not set +CONFIG_RESET_ROCKCHIP=y +# CONFIG_RESET_HISILICON is not set +# CONFIG_RESET_SYSCON is not set +# CONFIG_RESET_SCMI is not set +# CONFIG_RESET_DRA7 is not set +CONFIG_DM_RNG=y +# CONFIG_SPL_DM_RNG is not set +# CONFIG_RNG_MSM is not set +# CONFIG_RNG_NPCM is not set +CONFIG_RNG_ROCKCHIP=y +# CONFIG_RNG_IPROC200 is not set +# CONFIG_RNG_SMCCC_TRNG is not set +# CONFIG_RNG_ARM_RNDR is not set +# CONFIG_RNG_EXYNOS is not set + +# +# Real Time Clock +# +# CONFIG_DM_RTC is not set +# CONFIG_SPL_DM_RTC is not set +# CONFIG_TPL_DM_RTC is not set +# CONFIG_RTC_ENABLE_32KHZ_OUTPUT is not set +# CONFIG_RTC_DS1337 is not set +# CONFIG_RTC_DS1338 is not set +# CONFIG_RTC_DS1374 is not set +# CONFIG_RTC_DS3231 is not set +# CONFIG_RTC_PCF8563 is not set +# CONFIG_RTC_PT7C4338 is not set +# CONFIG_RTC_S35392A is not set +# CONFIG_RTC_MC13XXX is not set +# CONFIG_RTC_MC146818 is not set +# CONFIG_RTC_M41T62 is not set +# CONFIG_SCSI is not set +CONFIG_SERIAL=y +CONFIG_BAUDRATE=115200 +# CONFIG_DEFAULT_ENV_IS_RW is not set +CONFIG_REQUIRE_SERIAL_CONSOLE=y +# CONFIG_SPECIFY_CONSOLE_INDEX is not set +CONFIG_SERIAL_PRESENT=y +CONFIG_SPL_SERIAL_PRESENT=y +CONFIG_TPL_SERIAL_PRESENT=y +CONFIG_DM_SERIAL=y +# CONFIG_SERIAL_RX_BUFFER is not set +# CONFIG_SERIAL_PUTS is not set +# CONFIG_SERIAL_SEARCH_ALL is not set +# CONFIG_SERIAL_PROBE_ALL is not set +CONFIG_SPL_DM_SERIAL=y +CONFIG_TPL_DM_SERIAL=y +# CONFIG_VPL_DM_SERIAL is not set +CONFIG_DEBUG_UART_NS16550=y +CONFIG_SPL_DEBUG_UART_BASE=0xff1a0000 +CONFIG_TPL_DEBUG_UART_BASE=0xff1a0000 +CONFIG_DEBUG_UART_SHIFT=2 +# CONFIG_DEBUG_UART_ANNOUNCE is not set +# CONFIG_DEBUG_UART_SKIP_INIT is not set +# CONFIG_DEBUG_UART_NS16550_CHECK_ENABLED is not set +# CONFIG_ALTERA_JTAG_UART is not set +# CONFIG_ALTERA_UART is not set +# CONFIG_ARC_SERIAL is not set +# CONFIG_ARM_DCC is not set +# CONFIG_ATMEL_USART is not set +# CONFIG_BCM6345_SERIAL is not set +# CONFIG_COREBOOT_SERIAL is not set +# CONFIG_CORTINA_UART is not set +# CONFIG_FSL_LINFLEXUART is not set +# CONFIG_FSL_LPUART is not set +# CONFIG_MVEBU_A3700_UART is not set +# CONFIG_MCFUART is not set +# CONFIG_NULLDEV_SERIAL is not set +CONFIG_SYS_NS16550=y +# CONFIG_NS16550_DYNAMIC is not set +CONFIG_SYS_NS16550_MEM32=y +# CONFIG_SYS_NS16550_PORT_MAPPED is not set +# CONFIG_PL01X_SERIAL is not set +# CONFIG_ROCKCHIP_SERIAL is not set +# CONFIG_XILINX_UARTLITE is not set +# CONFIG_MSM_SERIAL is not set +# CONFIG_MSM_GENI_SERIAL is not set +# CONFIG_MXS_AUART_SERIAL is not set +# CONFIG_OMAP_SERIAL is not set +# CONFIG_HTIF_CONSOLE is not set +# CONFIG_SIFIVE_SERIAL is not set +# CONFIG_ZYNQ_SERIAL is not set +# CONFIG_MTK_SERIAL is not set +# CONFIG_MT7620_SERIAL is not set +# CONFIG_NPCM_SERIAL is not set +# CONFIG_SM is not set +# CONFIG_MESON_SM is not set +# CONFIG_SMEM is not set + +# +# Sound support +# +# CONFIG_SOUND is not set + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_DEVICE is not set +# CONFIG_SOC_QCOM is not set +# CONFIG_SOC_SAMSUNG is not set +# CONFIG_SOC_TI is not set +CONFIG_SPI=y +CONFIG_DM_SPI=y +CONFIG_SPI_MEM=y +# CONFIG_SPI_DIRMAP is not set +# CONFIG_ALTERA_SPI is not set +# CONFIG_APPLE_SPI is not set +# CONFIG_ATCSPI200_SPI is not set +# CONFIG_CORTINA_SFLASH is not set +# CONFIG_CADENCE_QSPI is not set +# CONFIG_CV1800B_SPIF is not set +# CONFIG_DESIGNWARE_SPI is not set +# CONFIG_FSL_QSPI is not set +# CONFIG_GXP_SPI is not set +# CONFIG_IPROC_QSPI is not set +# CONFIG_MICROCHIP_COREQSPI is not set +# CONFIG_MTK_SNOR is not set +# CONFIG_MTK_SNFI_SPI is not set +# CONFIG_MTK_SPIM is not set +# CONFIG_MVEBU_A3700_SPI is not set +# CONFIG_SPI_MXIC is not set +# CONFIG_NPCM_FIU_SPI is not set +# CONFIG_NPCM_PSPI is not set +# CONFIG_NXP_FSPI is not set +# CONFIG_OMAP3_SPI is not set +# CONFIG_PL022_SPI is not set +# CONFIG_ROCKCHIP_SFC is not set +CONFIG_ROCKCHIP_SPI=y +# CONFIG_SPI_ASPEED_SMC is not set +# CONFIG_SPI_SIFIVE is not set +# CONFIG_SOFT_SPI is not set +# CONFIG_SPI_SN_F_OSPI is not set +# CONFIG_SPI_SUNXI is not set +# CONFIG_XILINX_SPI is not set +# CONFIG_ZYNQ_SPI is not set +# CONFIG_ZYNQ_QSPI is not set +# CONFIG_ZYNQMP_GQSPI is not set +# CONFIG_SPI_STACKED_PARALLEL is not set + +# +# SPMI support +# +# CONFIG_SPMI is not set +# CONFIG_SYSINFO is not set + +# +# System reset device drivers +# +CONFIG_SYSRESET=y +CONFIG_SPL_SYSRESET=y +CONFIG_TPL_SYSRESET=y +CONFIG_SYSRESET_CMD_RESET=y +CONFIG_SYSRESET_CMD_POWEROFF=y +# CONFIG_SYSRESET_CV1800B is not set +# CONFIG_POWEROFF_GPIO is not set +# CONFIG_SYSRESET_GPIO is not set +# CONFIG_SYSRESET_PSCI is not set +# CONFIG_SYSRESET_SYSCON is not set +# CONFIG_SYSRESET_WATCHDOG is not set +# CONFIG_SYSRESET_RESETCTL is not set +# CONFIG_SYSRESET_MPC83XX is not set +# CONFIG_TEE is not set +# CONFIG_DM_THERMAL is not set + +# +# Timer Support +# +# CONFIG_TIMER is not set + +# +# TPM support +# +CONFIG_USB=y +CONFIG_DM_USB=y +CONFIG_SPL_DM_USB=y +# CONFIG_DM_USB_GADGET is not set +# CONFIG_SPL_DM_USB_GADGET is not set + +# +# USB Host Controller Drivers +# +CONFIG_USB_HOST=y +# CONFIG_SPL_USB_HOST is not set +CONFIG_USB_XHCI_HCD=y +# CONFIG_USB_XHCI_DWC3 is not set +# CONFIG_USB_XHCI_DWC3_OF_SIMPLE is not set +# CONFIG_USB_XHCI_GENERIC is not set +# CONFIG_USB_XHCI_FSL is not set +# CONFIG_USB_XHCI_BRCM is not set +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_MSM is not set +# CONFIG_USB_EHCI_PCI is not set +# CONFIG_USB_EHCI_ZYNQ is not set +CONFIG_USB_EHCI_GENERIC=y +# CONFIG_USB_EHCI_FSL is not set +CONFIG_USB_OHCI_NEW=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_GENERIC=y +# CONFIG_USB_OHCI_DA8XX is not set +# CONFIG_SYS_OHCI_SWAP_REG_ACCESS is not set +# CONFIG_USB_UHCI_HCD is not set +# CONFIG_USB_DWC2 is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_ISP1760 is not set +# CONFIG_USB_CDNS3 is not set +CONFIG_USB_DWC3=y + +# +# Platform Glue Driver Support +# +# CONFIG_USB_DWC3_OMAP is not set +CONFIG_USB_DWC3_GENERIC=y +# CONFIG_SPL_USB_DWC3_GENERIC is not set +# CONFIG_USB_DWC3_AM62 is not set +# CONFIG_USB_DWC3_LAYERSCAPE is not set +# CONFIG_USB_DWC3_STI is not set + +# +# PHY Subsystem +# +# CONFIG_USB_DWC3_PHY_OMAP is not set +# CONFIG_USB_DWC3_PHY_SAMSUNG is not set + +# +# Legacy MUSB Support +# +# CONFIG_USB_MUSB_HCD is not set +# CONFIG_USB_MUSB_UDC is not set + +# +# MUSB Controller Driver +# +# CONFIG_USB_MUSB_HOST is not set +# CONFIG_USB_MUSB_PIO_ONLY is not set + +# +# USB Phy +# +# CONFIG_TWL4030_USB is not set +# CONFIG_ROCKCHIP_USB2_PHY is not set +# CONFIG_TYPEC_TCPM is not set + +# +# ULPI drivers +# + +# +# USB peripherals +# +CONFIG_USB_STORAGE=y +CONFIG_USB_KEYBOARD=y +# CONFIG_USB_ONBOARD_HUB is not set +CONFIG_USB_HUB_DEBOUNCE_TIMEOUT=1000 +CONFIG_USB_KEYBOARD_FN_KEYS=y +CONFIG_SYS_USB_EVENT_POLL=y +# CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE is not set +# CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP is not set +CONFIG_USB_HOST_ETHER=y +CONFIG_USB_ETHER_ASIX=y +CONFIG_USB_ETHER_ASIX88179=y +# CONFIG_USB_ETHER_LAN75XX is not set +# CONFIG_USB_ETHER_LAN78XX is not set +CONFIG_USB_ETHER_MCS7830=y +CONFIG_USB_ETHER_RTL8152=y +CONFIG_USB_ETHER_SMSC95XX=y +# CONFIG_USB_GADGET is not set +# CONFIG_SPL_USB_GADGET is not set + +# +# UFS Host Controller Support +# +# CONFIG_TI_J721E_UFS is not set + +# +# Graphics support +# +CONFIG_VIDEO=y +# CONFIG_VIDEO_FONT_4X6 is not set +# CONFIG_VIDEO_FONT_8X16 is not set +# CONFIG_VIDEO_FONT_SUN12X22 is not set +CONFIG_VIDEO_FONT_16X32=y +CONFIG_VIDEO_LOGO=y +CONFIG_BACKLIGHT=y +CONFIG_VIDEO_PCI_DEFAULT_FB_SIZE=0x0 +# CONFIG_VIDEO_COPY is not set +CONFIG_VIDEO_DAMAGE=y +CONFIG_BACKLIGHT_PWM=y +# CONFIG_BACKLIGHT_GPIO is not set +CONFIG_VIDEO_BPP8=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_VIDEO_ANSI=y +# CONFIG_VIDEO_MIPI_DSI is not set +CONFIG_CONSOLE_NORMAL=y +# CONFIG_CONSOLE_ROTATION is not set +# CONFIG_CONSOLE_TRUETYPE is not set +CONFIG_SYS_WHITE_ON_BLACK=y +# CONFIG_NO_FB_CLEAR is not set +CONFIG_VIDEO_SYNC_MS=100 +CONFIG_VIDEO_SYNC_CYCLIC_MS=10 +CONFIG_PANEL=y +CONFIG_SIMPLE_PANEL=y +# CONFIG_PANEL_HX8238D is not set + +# +# TrueType Fonts +# +# CONFIG_VIDCONSOLE_AS_LCD is not set +# CONFIG_VIDEO_BOCHS is not set +# CONFIG_VIDEO_VESA is not set +# CONFIG_VIDEO_LCD_ANX9804 is not set +# CONFIG_ATMEL_LCD_BGR555 is not set +# CONFIG_VIDEO_BCM2835 is not set +# CONFIG_VIDEO_LCD_ENDEAVORU is not set +# CONFIG_VIDEO_LCD_HIMAX_HX8394 is not set +# CONFIG_VIDEO_LCD_ORISETECH_OTM8009A is not set +# CONFIG_VIDEO_LCD_LG_LD070WX3 is not set +# CONFIG_VIDEO_LCD_RAYDIUM_RM68200 is not set +# CONFIG_VIDEO_LCD_RENESAS_R61307 is not set +# CONFIG_VIDEO_LCD_RENESAS_R69328 is not set +# CONFIG_VIDEO_LCD_SAMSUNG_LTL106HL02 is not set +# CONFIG_VIDEO_LCD_SHARP_LQ101R1SX01 is not set +# CONFIG_VIDEO_LCD_SSD2828 is not set +# CONFIG_VIDEO_LCD_TDO_TL070WSH30 is not set +# CONFIG_VIDEO_LCD_HITACHI_TX18D42VM is not set +# CONFIG_VIDEO_MESON is not set +# CONFIG_VIDEO_MVEBU is not set +CONFIG_I2C_EDID=y +CONFIG_DISPLAY=y +# CONFIG_NXP_TDA19988 is not set +# CONFIG_ATMEL_HLCD is not set +# CONFIG_BACKLIGHT_LM3533 is not set +# CONFIG_AM335X_LCD is not set +# CONFIG_VIDEO_EXYNOS is not set +# CONFIG_LOGICORE_DP_TX is not set +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_VIDEO_ROCKCHIP_MAX_XRES=2400 +CONFIG_VIDEO_ROCKCHIP_MAX_YRES=1600 +CONFIG_DISPLAY_ROCKCHIP_EDP=y +# CONFIG_DISPLAY_ROCKCHIP_LVDS is not set +# CONFIG_DISPLAY_ROCKCHIP_HDMI is not set +# CONFIG_DISPLAY_ROCKCHIP_MIPI is not set +# CONFIG_DISPLAY_ROCKCHIP_DW_MIPI is not set +# CONFIG_VIDEO_ARM_MALIDP is not set +# CONFIG_VIDEO_STM32 is not set +# CONFIG_VIDEO_TIDSS is not set +# CONFIG_VIDEO_TEGRA124 is not set +# CONFIG_VIDEO_BRIDGE is not set +# CONFIG_VIDEO_BRIDGE_PARADE_DP501 is not set +# CONFIG_VIDEO_BRIDGE_SOLOMON_SSD2825 is not set +# CONFIG_VIDEO_BRIDGE_TOSHIBA_TC358768 is not set +# CONFIG_VIDEO_TEGRA20 is not set +# CONFIG_VIDEO_DSI_TEGRA30 is not set +# CONFIG_TEGRA_BACKLIGHT_PWM is not set +# CONFIG_VIDEO_MXS is not set +# CONFIG_VIDEO_SEPS525 is not set +CONFIG_CONSOLE_SCROLL_LINES=1 +# CONFIG_VIDEO_SIMPLE is not set +# CONFIG_VIDEO_DT_SIMPLEFB is not set +# CONFIG_VIDEO_MCDE_SIMPLE is not set +# CONFIG_OSD is not set +# CONFIG_VIDEO_REMOVE is not set +# CONFIG_SPLASH_SCREEN is not set +# CONFIG_BMP is not set +CONFIG_VIDEO_LOGO_MAX_SIZE=0x100000 +CONFIG_VIDEO_BMP_RLE8=y +# CONFIG_BMP_16BPP is not set +# CONFIG_BMP_24BPP is not set +# CONFIG_BMP_32BPP is not set +# CONFIG_SPL_VIDEO is not set + +# +# VirtIO Drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# 1-Wire support +# +# CONFIG_W1 is not set + +# +# 1-wire EEPROM support +# +# CONFIG_W1_EEPROM is not set + +# +# Watchdog Timer Support +# +# CONFIG_WATCHDOG is not set +# CONFIG_IMX_WATCHDOG is not set +# CONFIG_ULP_WATCHDOG is not set +# CONFIG_WDT is not set +# CONFIG_SPL_WDT is not set +# CONFIG_PHYS_TO_BUS is not set + +# +# File systems +# +# CONFIG_FS_BTRFS is not set +# CONFIG_FS_CBFS is not set +# CONFIG_SPL_FS_CBFS is not set +CONFIG_FS_EXT4=y +# CONFIG_EXT4_WRITE is not set +CONFIG_FS_FAT=y +CONFIG_FAT_WRITE=y +CONFIG_FS_FAT_MAX_CLUSTSIZE=65536 +# CONFIG_FS_JFFS2 is not set +# CONFIG_UBIFS_SILENCE_MSG is not set +# CONFIG_UBIFS_SILENCE_DEBUG_DUMP is not set +# CONFIG_FS_CRAMFS is not set +# CONFIG_FS_SQUASHFS is not set +# CONFIG_FS_EROFS is not set + +# +# Library routines +# +# CONFIG_ADDR_MAP is not set +# CONFIG_SYS_TIMER_COUNTS_DOWN is not set +# CONFIG_PHYSMEM is not set +# CONFIG_BCH is not set +# CONFIG_BINMAN_FDT is not set +CONFIG_BINMAN_DTB="" +# CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set +CONFIG_CHARSET=y +# CONFIG_DYNAMIC_CRC_TABLE is not set +CONFIG_LIB_UUID=y +CONFIG_RANDOM_UUID=y +CONFIG_SPL_LIB_UUID=y +# CONFIG_SEMIHOSTING is not set +# CONFIG_SPL_SEMIHOSTING is not set +CONFIG_PRINTF=y +CONFIG_SPL_PRINTF=y +CONFIG_TPL_PRINTF=y +CONFIG_SPRINTF=y +CONFIG_SPL_SPRINTF=y +CONFIG_TPL_SPRINTF=y +CONFIG_STRTO=y +CONFIG_SPL_STRTO=y +CONFIG_TPL_STRTO=y +CONFIG_SYS_HZ=1000 +CONFIG_SPL_USE_TINY_PRINTF=y +CONFIG_TPL_USE_TINY_PRINTF=y +CONFIG_PANIC_HANG=y +CONFIG_REGEX=y +CONFIG_LIB_RAND=y +# CONFIG_LIB_HW_RAND is not set +CONFIG_SUPPORT_ACPI=y +# CONFIG_ACPI is not set +# CONFIG_SPL_ACPI is not set +# CONFIG_SPL_TINY_MEMSET is not set +CONFIG_TPL_TINY_MEMSET=y +# CONFIG_BITREVERSE is not set +# CONFIG_TRACE is not set +# CONFIG_CIRCBUF is not set +CONFIG_CMD_DHRYSTONE=y + +# +# Alternative crypto libraries +# +CONFIG_LEGACY_HASHING_AND_CRYPTO=y +# CONFIG_MBEDTLS_LIB is not set +CONFIG_LEGACY_HASHING=y +CONFIG_SHA1_LEGACY=y +CONFIG_SHA256_LEGACY=y +CONFIG_MD5_LEGACY=y +CONFIG_LEGACY_CRYPTO=y +CONFIG_SPL_LEGACY_HASHING_AND_CRYPTO=y +# CONFIG_SPL_MBEDTLS_LIB is not set +CONFIG_SPL_LEGACY_HASHING=y +CONFIG_SPL_SHA1_LEGACY=y +CONFIG_SPL_SHA256_LEGACY=y +CONFIG_SPL_LEGACY_CRYPTO=y +CONFIG_TPL_LEGACY_HASHING_AND_CRYPTO=y +# CONFIG_TPL_MBEDTLS_LIB is not set +CONFIG_TPL_LEGACY_HASHING=y + +# +# Security support +# +# CONFIG_AES is not set +# CONFIG_ECDSA is not set +CONFIG_RSA=y +CONFIG_SPL_RSA=y +CONFIG_SPL_RSA_VERIFY=y +CONFIG_RSA_VERIFY=y +# CONFIG_RSA_VERIFY_WITH_PKEY is not set +# CONFIG_SPL_RSA_VERIFY_WITH_PKEY is not set +CONFIG_RSA_SOFTWARE_EXP=y +# CONFIG_ASYMMETRIC_KEY_TYPE is not set +# CONFIG_TPM is not set +# CONFIG_SPL_TPM is not set +# CONFIG_TPL_TPM is not set + +# +# Android Verified Boot +# + +# +# Hashing Support +# +# CONFIG_BLAKE2 is not set +CONFIG_SHA1=y +CONFIG_SHA256=y +# CONFIG_SHA512 is not set +# CONFIG_SHA384 is not set +# CONFIG_SHA_HW_ACCEL is not set +CONFIG_SPL_CRC32=y +CONFIG_SPL_SHA1=y +CONFIG_SPL_SHA256=y +# CONFIG_SPL_SHA512 is not set +# CONFIG_SPL_SHA384 is not set +# CONFIG_SPL_SHA_HW_ACCEL is not set +CONFIG_MD5=y +# CONFIG_SPL_MD5 is not set +CONFIG_CRC8=y +CONFIG_SPL_CRC8=y +# CONFIG_TPL_CRC8 is not set +CONFIG_CRC16=y +# CONFIG_SPL_CRC16 is not set +CONFIG_CRC32=y + +# +# Compression Support +# +CONFIG_LZ4=y +CONFIG_LZMA=y +# CONFIG_LZO is not set +CONFIG_GZIP=y +# CONFIG_ZLIB_UNCOMPRESS is not set +# CONFIG_BZIP2 is not set +CONFIG_ZLIB=y +# CONFIG_ZSTD is not set +# CONFIG_SPL_BZIP2 is not set +# CONFIG_SPL_LZ4 is not set +# CONFIG_TPL_LZ4 is not set +# CONFIG_SPL_LZMA is not set +# CONFIG_TPL_LZMA is not set +CONFIG_VPL_LZMA=y +# CONFIG_SPL_LZO is not set +# CONFIG_SPL_GZIP is not set +# CONFIG_TPL_GZIP is not set +# CONFIG_SPL_ZSTD is not set +CONFIG_ERRNO_STR=y +# CONFIG_HEXDUMP is not set +CONFIG_GETOPT=y +CONFIG_OF_LIBFDT=y +CONFIG_OF_LIBFDT_ASSUME_MASK=0x0 +CONFIG_SYS_FDT_PAD=0x3000 +CONFIG_SPL_OF_LIBFDT=y +CONFIG_TPL_OF_LIBFDT=y +CONFIG_TPL_OF_LIBFDT_ASSUME_MASK=0xff + +# +# System tables +# +# CONFIG_BLOBLIST_TABLES is not set +CONFIG_GENERATE_SMBIOS_TABLE=y +# CONFIG_GENERATE_SMBIOS_TABLE_VERBOSE is not set +# CONFIG_LIB_RATIONAL is not set +# CONFIG_SPL_LIB_RATIONAL is not set +CONFIG_SMBIOS=y +# CONFIG_SMBIOS_PARSER is not set +# CONFIG_OPTEE_LIB is not set +# CONFIG_OPTEE_IMAGE is not set +# CONFIG_BOOTM_OPTEE is not set +# CONFIG_TEST_FDTDEC is not set +CONFIG_LIB_ELF=y +CONFIG_LMB=y +# CONFIG_LMB_ARCH_MEM_MAP is not set +# CONFIG_PHANDLE_CHECK_SEQ is not set + +# +# Testing +# +# CONFIG_UNIT_TEST is not set +# CONFIG_SPL_UNIT_TEST is not set +# CONFIG_POST is not set + +# +# Tools options +# +CONFIG_MKIMAGE_DTC_PATH="dtc" +CONFIG_TOOLS_CRC16=y +CONFIG_TOOLS_CRC32=y +CONFIG_TOOLS_LIBCRYPTO=y +CONFIG_TOOLS_KWBIMAGE=y +CONFIG_TOOLS_FIT=y +CONFIG_TOOLS_FIT_FULL_CHECK=y +CONFIG_TOOLS_FIT_PRINT=y +CONFIG_TOOLS_FIT_RSASSA_PSS=y +CONFIG_TOOLS_FIT_SIGNATURE=y +CONFIG_TOOLS_FIT_SIGNATURE_MAX_SIZE=0x10000000 +CONFIG_TOOLS_FIT_VERBOSE=y +CONFIG_TOOLS_MD5=y +CONFIG_TOOLS_OF_LIBFDT=y +CONFIG_TOOLS_SHA1=y +CONFIG_TOOLS_SHA256=y +CONFIG_TOOLS_SHA384=y +CONFIG_TOOLS_SHA512=y +CONFIG_TOOLS_MKEFICAPSULE=y +# CONFIG_FSPI_CONF_HEADER is not set +# CONFIG_TOOLS_MKFWUMDATA is not set diff --git a/config/module/u-boot/gru_kevin/target.cfg b/config/module/u-boot/gru_kevin/target.cfg new file mode 100644 index 00000000..50080091 --- /dev/null +++ b/config/module/u-boot/gru_kevin/target.cfg @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +tree="default" +xarch="aarch64-elf arm-eabi" diff --git a/config/module/u-boot/i386coreboot/config/default b/config/module/u-boot/i386coreboot/config/default new file mode 100644 index 00000000..32e41bba --- /dev/null +++ b/config/module/u-boot/i386coreboot/config/default @@ -0,0 +1,1792 @@ +# +# Automatically generated file; DO NOT EDIT. +# U-Boot 2024.10 Configuration +# + +# +# Compiler: gcc (Debian 14.2.0-19) 14.2.0 +# +CONFIG_CREATE_ARCH_SYMLINK=y +CONFIG_SUPPORT_LITTLE_ENDIAN=y +CONFIG_SYS_CACHE_SHIFT_6=y +CONFIG_SYS_CACHELINE_SIZE=64 +CONFIG_LINKER_LIST_ALIGN=8 +# CONFIG_ARC is not set +# CONFIG_ARM is not set +# CONFIG_M68K is not set +# CONFIG_MICROBLAZE is not set +# CONFIG_MIPS is not set +# CONFIG_NIOS2 is not set +# CONFIG_PPC is not set +# CONFIG_RISCV is not set +# CONFIG_SANDBOX is not set +# CONFIG_SH is not set +CONFIG_X86=y +# CONFIG_XTENSA is not set +CONFIG_SYS_ARCH="x86" +CONFIG_SYS_SOC="coreboot" +CONFIG_SYS_VENDOR="coreboot" +CONFIG_SYS_BOARD="coreboot" +CONFIG_TEXT_BASE=0x1110000 +CONFIG_SYS_MALLOC_LEN=0x2000000 +CONFIG_SYS_MALLOC_F_LEN=0x800 +CONFIG_NR_DRAM_BANKS=8 +CONFIG_ENV_SOURCE_FILE="" +CONFIG_ENV_SIZE=0x1000 +CONFIG_DM_GPIO=y +CONFIG_DEFAULT_DEVICE_TREE="coreboot" +CONFIG_BOARD_SPECIFIC_OPTIONS=y +# CONFIG_OF_LIBFDT_OVERLAY is not set +CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x8000 +# CONFIG_DM_RESET is not set +CONFIG_SYS_MONITOR_LEN=1048576 +CONFIG_WATCHDOG_TIMEOUT_MSECS=60000 +CONFIG_ERR_PTR_OFFSET=0x0 +# CONFIG_SPL is not set +CONFIG_PRE_CON_BUF_ADDR=0x100000 +CONFIG_PRE_CON_BUF_SZ=4096 +CONFIG_IDENT_STRING="" +CONFIG_SYS_CLK_FREQ=0 +CONFIG_SYS_MEM_TOP_HIDE=0x0 +CONFIG_SYS_LOAD_ADDR=0x02000000 +CONFIG_BUILD_TARGET="" +# CONFIG_SYS_PCI_64BIT is not set +CONFIG_PCI=y +CONFIG_FWU_NUM_BANKS=2 +CONFIG_FWU_NUM_IMAGES_PER_BANK=2 + +# +# x86 architecture +# +CONFIG_X86_RUN_32BIT=y +# CONFIG_X86_RUN_64BIT is not set +# CONFIG_VENDOR_ADVANTECH is not set +# CONFIG_VENDOR_CONGATEC is not set +CONFIG_VENDOR_COREBOOT=y +# CONFIG_VENDOR_DFI is not set +# CONFIG_VENDOR_EFI is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_INTEL_MID is not set +CONFIG_PCIE_ECAM_BASE=0xe0000000 +CONFIG_TARGET_COREBOOT=y +CONFIG_SYS_CAR_ADDR=0x01920000 +CONFIG_SYS_CAR_SIZE=0x4000 +CONFIG_ROM_TABLE_ADDR=0xf0000 +CONFIG_ROM_TABLE_SIZE=0x10000 +CONFIG_CPU_ADDR_BITS=36 +# CONFIG_DEBUG_UART is not set +CONFIG_SYS_COREBOOT=y +CONFIG_X86_TSC_TIMER_FREQ=1000000000 +CONFIG_AHCI=y +CONFIG_RAMBASE=0x100000 +CONFIG_HPET_ADDRESS=0xfed00000 +# CONFIG_X86_LOAD_FROM_32_BIT is not set +# CONFIG_HAVE_INTEL_ME is not set +# CONFIG_X86_RAMTEST is not set +# CONFIG_USE_HOB is not set +# CONFIG_HAVE_FSP is not set +CONFIG_USE_CAR=y +# CONFIG_HAVE_MRC is not set +# CONFIG_HAVE_REFCODE is not set +CONFIG_HAVE_MICROCODE=y +# CONFIG_SMP is not set +# CONFIG_HAVE_VGA_BIOS is not set +CONFIG_X86_HARDFP=y +# CONFIG_HAVE_ITSS is not set +# CONFIG_HAVE_ACPI_RESUME is not set +CONFIG_MAX_PIRQ_LINKS=8 +CONFIG_IRQ_SLOT_COUNT=128 +CONFIG_PCIE_ECAM_SIZE=0x10000000 +CONFIG_I8259_PIC=y +CONFIG_APIC=y +CONFIG_I8254_TIMER=y +# CONFIG_SEABIOS is not set +# CONFIG_INTEL_CAR_CQOS is not set +CONFIG_X86_OFFSET_U_BOOT=0x1110000 +# CONFIG_ACPI_GPE is not set +CONFIG_SA_PCIEX_LENGTH=0x10000000 +CONFIG_COREBOOT_SYSINFO=y +CONFIG_ZBOOT=y +# CONFIG_OF_BOARD_FIXUP is not set +CONFIG_SYS_LITTLE_ENDIAN=y + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=140200 +CONFIG_CLANG_VERSION=0 +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set +# CONFIG_CC_OPTIMIZE_FOR_DEBUG is not set +# CONFIG_OPTIMIZE_INLINING is not set +CONFIG_CC_HAS_ASM_INLINE=y +CONFIG_ENV_VARS_UBOOT_CONFIG=y +# CONFIG_SYS_BOOT_GET_CMDLINE is not set +# CONFIG_SYS_BOOT_GET_KBD is not set +CONFIG_SYS_MALLOC_F=y +# CONFIG_VALGRIND is not set +CONFIG_EXPERT=y +CONFIG_SYS_MALLOC_CLEAR_ON_INIT=y +# CONFIG_SYS_MALLOC_DEFAULT_TO_INIT is not set +# CONFIG_TOOLS_DEBUG is not set +# CONFIG_PHYS_64BIT is not set +# CONFIG_FDT_64BIT is not set +# CONFIG_REMAKE_ELF is not set +# CONFIG_HAS_BOARD_SIZE_LIMIT is not set +# CONFIG_SYS_CUSTOM_LDSCRIPT is not set +CONFIG_PLATFORM_ELFENTRY="_start" +CONFIG_STACK_SIZE=0x1000000 +CONFIG_SYS_SRAM_BASE=0x0 +CONFIG_SYS_SRAM_SIZE=0x0 +# CONFIG_MP is not set +CONFIG_HAVE_TEXT_BASE=y +# CONFIG_HAVE_SYS_UBOOT_START is not set +CONFIG_SYS_UBOOT_START=0x1110000 +CONFIG_HAVE_SYS_MONITOR_BASE=y +CONFIG_SYS_MONITOR_BASE=0x01110000 +# CONFIG_DYNAMIC_SYS_CLK_FREQ is not set +# CONFIG_API is not set + +# +# Boot options +# + +# +# Boot images +# +# CONFIG_ANDROID_BOOT_IMAGE is not set +CONFIG_TIMESTAMP=y +CONFIG_FIT=y +CONFIG_FIT_EXTERNAL_OFFSET=0x0 +CONFIG_FIT_FULL_CHECK=y +CONFIG_FIT_SIGNATURE=y +CONFIG_FIT_SIGNATURE_MAX_SIZE=0x10000000 +# CONFIG_FIT_RSASSA_PSS is not set +# CONFIG_FIT_CIPHER is not set +# CONFIG_FIT_VERBOSE is not set +# CONFIG_FIT_BEST_MATCH is not set +CONFIG_FIT_PRINT=y +# CONFIG_SPL_LOAD_FIT_FULL is not set +CONFIG_PXE_UTILS=y +CONFIG_BOOT_DEFAULTS_FEATURES=y +CONFIG_BOOT_DEFAULTS_CMDS=y +CONFIG_BOOT_DEFAULTS=y +CONFIG_BOOTSTD=y +CONFIG_BOOTSTD_FULL=y +CONFIG_BOOTSTD_DEFAULTS=y +CONFIG_BOOTSTD_BOOTCOMMAND=y +CONFIG_BOOTMETH_GLOBAL=y +# CONFIG_BOOTMETH_ANDROID is not set +CONFIG_BOOTMETH_CROS=y +CONFIG_BOOTMETH_EXTLINUX=y +CONFIG_BOOTMETH_EXTLINUX_PXE=y +CONFIG_BOOTMETH_EFILOADER=y +CONFIG_BOOTMETH_EFI_BOOTMGR=y +CONFIG_BOOTMETH_VBE=y +CONFIG_BOOTMETH_DISTRO=y +CONFIG_BOOTMETH_VBE_REQUEST=y +CONFIG_BOOTMETH_VBE_SIMPLE=y +CONFIG_BOOTMETH_VBE_SIMPLE_OS=y +CONFIG_EXPO=y +CONFIG_BOOTMETH_SCRIPT=y +# CONFIG_LEGACY_IMAGE_FORMAT is not set +CONFIG_SYS_BOOTM_LEN=0x1000000 +CONFIG_SUPPORT_RAW_INITRD=y +# CONFIG_CHROMEOS is not set +# CONFIG_CHROMEOS_VBOOT is not set +# CONFIG_RAMBOOT_PBL is not set +CONFIG_SYS_BOOT_RAMDISK_HIGH=y +# CONFIG_DISTRO_DEFAULTS is not set + +# +# Boot timing +# +# CONFIG_BOOTSTAGE is not set +CONFIG_SHOW_BOOT_PROGRESS=y + +# +# Boot media +# +# CONFIG_NAND_BOOT is not set +# CONFIG_ONENAND_BOOT is not set +# CONFIG_QSPI_BOOT is not set +# CONFIG_SATA_BOOT is not set +# CONFIG_SD_BOOT is not set +# CONFIG_SD_BOOT_QSPI is not set +# CONFIG_SPI_BOOT is not set + +# +# Autoboot options +# +CONFIG_AUTOBOOT=y +CONFIG_BOOTDELAY=2 +# CONFIG_AUTOBOOT_KEYED is not set +# CONFIG_AUTOBOOT_USE_MENUKEY is not set +# CONFIG_BOOT_RETRY is not set + +# +# Image support +# +# CONFIG_IMAGE_PRE_LOAD is not set + +# +# Devicetree fixup +# +# CONFIG_OF_ENV_SETUP is not set +# CONFIG_OF_BOARD_SETUP is not set +# CONFIG_OF_SYSTEM_SETUP is not set +# CONFIG_OF_STDOUT_VIA_ALIAS is not set +# CONFIG_FDT_FIXUP_PARTITIONS is not set +# CONFIG_FDT_SIMPLEFB is not set +CONFIG_ARCH_FIXUP_FDT_MEMORY=y +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="root=/dev/sdb3 init=/sbin/init rootwait ro" +# CONFIG_BOOTARGS_SUBST is not set +CONFIG_USE_BOOTCOMMAND=y +CONFIG_BOOTCOMMAND="bootflow scan -l; if bootflow menu; then cls; bootflow boot; fi" +CONFIG_USE_PREBOOT=y +CONFIG_PREBOOT="usb start" +CONFIG_PREBOOT_DEFINED=y +CONFIG_DEFAULT_FDT_FILE="" + +# +# Configuration editor +# +# CONFIG_CEDIT is not set + +# +# Console +# +CONFIG_MENU=y +# CONFIG_CONSOLE_RECORD is not set +CONFIG_SYS_CBSIZE=512 +CONFIG_SYS_PBSIZE=1044 +# CONFIG_DISABLE_CONSOLE is not set +CONFIG_LOGLEVEL=4 +# CONFIG_SILENT_CONSOLE is not set +# CONFIG_SPL_SILENT_CONSOLE is not set +# CONFIG_TPL_SILENT_CONSOLE is not set +CONFIG_PRE_CONSOLE_BUFFER=y +CONFIG_CONSOLE_FLUSH_SUPPORT=y +# CONFIG_CONSOLE_FLUSH_ON_NEWLINE is not set +CONFIG_CONSOLE_MUX=y +CONFIG_SYS_CONSOLE_IS_IN_ENV=y +# CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE is not set +# CONFIG_SYS_CONSOLE_ENV_OVERWRITE is not set +CONFIG_SYS_CONSOLE_INFO_QUIET=y +CONFIG_SYS_STDIO_DEREGISTER=y +# CONFIG_SPL_SYS_STDIO_DEREGISTER is not set +CONFIG_SYS_DEVICE_NULLDEV=y + +# +# Logging +# +CONFIG_LOG=y +CONFIG_LOG_MAX_LEVEL=6 +CONFIG_LOG_DEFAULT_LEVEL=6 +CONFIG_LOG_CONSOLE=y +# CONFIG_LOGF_FILE is not set +CONFIG_LOGF_LINE=y +CONFIG_LOGF_FUNC=y +CONFIG_LOGF_FUNC_PAD=20 +# CONFIG_LOG_SYSLOG is not set +# CONFIG_LOG_ERROR_RETURN is not set + +# +# Init options +# +# CONFIG_BOARD_TYPES is not set +CONFIG_DISPLAY_CPUINFO=y +# CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_DISPLAY_BOARDINFO_LATE=y + +# +# Start-up hooks +# +CONFIG_CYCLIC=y +# CONFIG_SPL_CYCLIC is not set +CONFIG_CYCLIC_MAX_CPU_TIME_US=5000 +CONFIG_EVENT=y +CONFIG_EVENT_DYNAMIC=y +# CONFIG_EVENT_DEBUG is not set +# CONFIG_ARCH_MISC_INIT is not set +# CONFIG_BOARD_EARLY_INIT_F is not set +CONFIG_BOARD_EARLY_INIT_R=y +# CONFIG_BOARD_POSTCLK_INIT is not set +# CONFIG_BOARD_LATE_INIT is not set +# CONFIG_HWCONFIG is not set +CONFIG_LAST_STAGE_INIT=y +# CONFIG_MISC_INIT_R is not set +# CONFIG_SYS_MALLOC_BOOTPARAMS is not set +# CONFIG_ID_EEPROM is not set +CONFIG_PCI_INIT_R=y +# CONFIG_RESET_PHY_R is not set + +# +# Security support +# +CONFIG_HASH=y +# CONFIG_STACKPROTECTOR is not set +# CONFIG_BOARD_RNG_SEED is not set + +# +# Update support +# +# CONFIG_UPDATE_TFTP is not set +# CONFIG_ANDROID_AB is not set + +# +# Blob list +# +# CONFIG_BLOBLIST is not set +CONFIG_SUPPORT_SPL=y +CONFIG_SUPPORT_TPL=y +# CONFIG_TPL is not set +# CONFIG_VPL is not set +CONFIG_IMAGE_SIGN_INFO=y +CONFIG_CMDLINE=y +CONFIG_HUSH_PARSER=y + +# +# Hush flavor to use +# +CONFIG_HUSH_OLD_PARSER=y +# CONFIG_HUSH_MODERN_PARSER is not set +CONFIG_CMDLINE_EDITING=y +# CONFIG_CMDLINE_PS_SUPPORT is not set +CONFIG_AUTO_COMPLETE=y +CONFIG_SYS_LONGHELP=y +CONFIG_SYS_PROMPT="=> " +CONFIG_SYS_PROMPT_HUSH_PS2="> " +CONFIG_SYS_MAXARGS=64 +CONFIG_SYS_XTRACE=y + +# +# Commands +# + +# +# Info commands +# +CONFIG_CMD_ACPI=y +CONFIG_CMD_BDI=y +CONFIG_CMD_BDINFO_EXTRA=y +# CONFIG_CMD_CONFIG is not set +CONFIG_CMD_CONSOLE=y +# CONFIG_CMD_HISTORY is not set +# CONFIG_CMD_PMC is not set +# CONFIG_CMD_SMBIOS is not set + +# +# Boot commands +# +CONFIG_CMD_BOOTD=y +CONFIG_CMD_BOOTM=y +CONFIG_CMD_BOOTDEV=y +CONFIG_CMD_BOOTFLOW=y +CONFIG_CMD_BOOTFLOW_FULL=y +CONFIG_CMD_BOOTFLOW_BOOTDELAY=8 +CONFIG_CMD_BOOTMETH=y +CONFIG_BOOTM_EFI=y +CONFIG_BOOTM_ELF=y +# CONFIG_CMD_BOOTZ is not set +CONFIG_BOOTM_LINUX=y +CONFIG_BOOTM_NETBSD=y +# CONFIG_BOOTM_OPENRTOS is not set +# CONFIG_BOOTM_OSE is not set +CONFIG_BOOTM_PLAN9=y +CONFIG_BOOTM_RTEMS=y +CONFIG_CMD_VBE=y +CONFIG_BOOTM_VXWORKS=y +CONFIG_CMD_BOOTEFI=y +CONFIG_CMD_BOOTEFI_BINARY=y +CONFIG_CMD_BOOTEFI_BOOTMGR=y +CONFIG_CMD_BOOTEFI_HELLO_COMPILE=y +# CONFIG_CMD_BOOTEFI_HELLO is not set +# CONFIG_CMD_BOOTEFI_SELFTEST is not set +# CONFIG_CMD_BOOTMENU is not set +# CONFIG_CMD_ADTIMG is not set +CONFIG_CMD_ELF=y +# CONFIG_CMD_ELF_FDT_SETUP is not set +CONFIG_CMD_FDT=y +CONFIG_CMD_GO=y +CONFIG_CMD_RUN=y +CONFIG_CMD_IMI=y +CONFIG_CMD_XIMG=y +CONFIG_CMD_ZBOOT=y + +# +# Environment commands +# +# CONFIG_CMD_ASKENV is not set +CONFIG_CMD_EXPORTENV=y +CONFIG_CMD_IMPORTENV=y +CONFIG_CMD_EDITENV=y +# CONFIG_CMD_GREPENV is not set +CONFIG_CMD_SAVEENV=y +# CONFIG_CMD_ERASEENV is not set +CONFIG_CMD_ENV_EXISTS=y +# CONFIG_CMD_ENV_CALLBACK is not set +# CONFIG_CMD_ENV_FLAGS is not set +# CONFIG_CMD_NVEDIT_EFI is not set +# CONFIG_CMD_NVEDIT_INDIRECT is not set +# CONFIG_CMD_NVEDIT_INFO is not set +# CONFIG_CMD_NVEDIT_LOAD is not set +# CONFIG_CMD_NVEDIT_SELECT is not set + +# +# Memory commands +# +# CONFIG_CMD_BINOP is not set +CONFIG_CMD_CRC32=y +# CONFIG_CRC32_VERIFY is not set +# CONFIG_LOOPW is not set +# CONFIG_CMD_MD5SUM is not set +# CONFIG_CMD_MEMINFO is not set +CONFIG_CMD_MEMORY=y +# CONFIG_CMD_MEM_SEARCH is not set +# CONFIG_CMD_MX_CYCLIC is not set +CONFIG_CMD_RANDOM=y +# CONFIG_CMD_MEMTEST is not set +# CONFIG_CMD_SHA1SUM is not set +# CONFIG_CMD_STRINGS is not set + +# +# Compression commands +# +# CONFIG_CMD_LZMADEC is not set +# CONFIG_CMD_UNLZ4 is not set +# CONFIG_CMD_UNZIP is not set +# CONFIG_CMD_ZIP is not set + +# +# Device access commands +# +# CONFIG_CMD_BCB is not set +# CONFIG_CMD_BIND is not set +# CONFIG_CMD_CLK is not set +# CONFIG_CMD_DEMO is not set +# CONFIG_CMD_DFU is not set +CONFIG_CMD_DM=y +# CONFIG_CMD_FUSE is not set +# CONFIG_CMD_GPIO is not set +# CONFIG_CMD_GPT is not set +CONFIG_CMD_IDE=y +CONFIG_CMD_IO=y +# CONFIG_CMD_IOTRACE is not set +# CONFIG_CMD_I2C is not set +CONFIG_CMD_LOADB=y +# CONFIG_CMD_LOADM is not set +CONFIG_CMD_LOADS=y +# CONFIG_LOADS_ECHO is not set +# CONFIG_CMD_SAVES is not set +# CONFIG_SYS_LOADS_BAUD_CHANGE is not set +CONFIG_CMD_LOADXY_TIMEOUT=90 +# CONFIG_CMD_LSBLK is not set +# CONFIG_CMD_MBR is not set +CONFIG_CMD_MMC=y +# CONFIG_CMD_BKOPS_ENABLE is not set +# CONFIG_CMD_MMC_REG is not set +# CONFIG_CMD_MMC_SWRITE is not set +# CONFIG_CMD_CLONE is not set +# CONFIG_CMD_MTD is not set +CONFIG_CMD_NVME=y +# CONFIG_CMD_ONENAND is not set +# CONFIG_CMD_OSD is not set +CONFIG_CMD_PART=y +CONFIG_CMD_PCI=y +# CONFIG_CMD_PCI_MPS is not set +# CONFIG_CMD_POWEROFF is not set +# CONFIG_CMD_READ is not set +CONFIG_CMD_SATA=y +CONFIG_CMD_SCSI=y +# CONFIG_CMD_SDRAM is not set +CONFIG_CMD_USB=y +# CONFIG_CMD_USB_SDP is not set +# CONFIG_CMD_RKMTD is not set +# CONFIG_CMD_WRITE is not set + +# +# Shell scripting commands +# +# CONFIG_CMD_CAT is not set +CONFIG_CMD_ECHO=y +CONFIG_CMD_ITEST=y +CONFIG_CMD_SOURCE=y +# CONFIG_CMD_SETEXPR is not set +# CONFIG_CMD_XXD is not set + +# +# Android support commands +# +CONFIG_CMD_NET=y +CONFIG_CMD_BOOTP=y +CONFIG_CMD_DHCP=y +# CONFIG_BOOTP_MAY_FAIL is not set +CONFIG_BOOTP_BOOTPATH=y +# CONFIG_BOOTP_VENDOREX is not set +CONFIG_BOOTP_BOOTFILESIZE=y +CONFIG_BOOTP_DNS=y +# CONFIG_BOOTP_DNS2 is not set +CONFIG_BOOTP_GATEWAY=y +CONFIG_BOOTP_HOSTNAME=y +# CONFIG_BOOTP_PREFER_SERVERIP is not set +CONFIG_BOOTP_SUBNETMASK=y +# CONFIG_BOOTP_NISDOMAIN is not set +# CONFIG_BOOTP_NTPSERVER is not set +# CONFIG_CMD_PCAP is not set +CONFIG_BOOTP_PXE=y +CONFIG_BOOTP_PXE_CLIENTARCH=0x0 +# CONFIG_BOOTP_PXE_DHCP_OPTION is not set +CONFIG_BOOTP_VCI_STRING="U-Boot" +CONFIG_CMD_TFTPBOOT=y +# CONFIG_CMD_TFTPPUT is not set +# CONFIG_CMD_TFTPSRV is not set +CONFIG_NET_TFTP_VARS=y +# CONFIG_CMD_RARP is not set +# CONFIG_CMD_NFS is not set +# CONFIG_SYS_DISABLE_AUTOLOAD is not set +# CONFIG_CMD_WGET is not set +CONFIG_CMD_MII=y +CONFIG_CMD_MDIO=y +CONFIG_CMD_PING=y +# CONFIG_CMD_CDP is not set +# CONFIG_CMD_SNTP is not set +# CONFIG_CMD_DNS is not set +# CONFIG_CMD_LINK_LOCAL is not set +# CONFIG_CMD_ETHSW is not set +CONFIG_CMD_PXE=y +# CONFIG_CMD_WOL is not set + +# +# Misc commands +# +# CONFIG_CMD_2048 is not set +# CONFIG_CMD_BMP is not set +# CONFIG_CMD_BSP is not set +CONFIG_CMD_BLOCK_CACHE=y +# CONFIG_CMD_CACHE is not set +# CONFIG_CMD_CONITRACE is not set +CONFIG_CMD_CLS=y +# CONFIG_CMD_EFIDEBUG is not set +CONFIG_CMD_EFICONFIG=y +# CONFIG_CMD_EXCEPTION is not set +# CONFIG_CMD_INI is not set +CONFIG_CMD_DATE=y +# CONFIG_CMD_RTC is not set +CONFIG_CMD_TIME=y +CONFIG_CMD_GETTIME=y +# CONFIG_CMD_PAUSE is not set +CONFIG_CMD_SLEEP=y +# CONFIG_CMD_TIMER is not set +CONFIG_CMD_SOUND=y +# CONFIG_CMD_SYSBOOT is not set +# CONFIG_CMD_QFW is not set +# CONFIG_CMD_PSTORE is not set +# CONFIG_CMD_TERMINAL is not set +# CONFIG_CMD_UUID is not set +CONFIG_CMD_VIDCONSOLE=y +CONFIG_CMD_SELECT_FONT=y + +# +# TI specific command line interface +# + +# +# Power commands +# + +# +# Security commands +# +# CONFIG_CMD_AES is not set +# CONFIG_CMD_BLOB is not set +# CONFIG_CMD_HASH is not set + +# +# Firmware commands +# + +# +# Filesystem commands +# +# CONFIG_CMD_BTRFS is not set +CONFIG_CMD_CBFS=y +# CONFIG_CMD_EROFS is not set +CONFIG_CMD_EXT2=y +CONFIG_CMD_EXT4=y +CONFIG_CMD_EXT4_WRITE=y +CONFIG_CMD_FAT=y +# CONFIG_CMD_SQUASHFS is not set +CONFIG_CMD_FS_GENERIC=y +# CONFIG_CMD_FS_UUID is not set +# CONFIG_CMD_JFFS2 is not set +# CONFIG_CMD_MTDPARTS is not set +CONFIG_MTDIDS_DEFAULT="" +CONFIG_MTDPARTS_DEFAULT="" +# CONFIG_CMD_ZFS is not set + +# +# Debug commands +# +CONFIG_CMD_CBSYSINFO=y +CONFIG_CMD_CYCLIC=y +# CONFIG_CMD_DIAG is not set +# CONFIG_CMD_EVENT is not set +CONFIG_CMD_IRQ=y +# CONFIG_CMD_LOG is not set +# CONFIG_CMD_UBI is not set +# CONFIG_MMC_SPEED_MODE_SET is not set + +# +# Partition Types +# +CONFIG_PARTITIONS=y +CONFIG_MAC_PARTITION=y +CONFIG_DOS_PARTITION=y +CONFIG_ISO_PARTITION=y +# CONFIG_AMIGA_PARTITION is not set +CONFIG_EFI_PARTITION=y +CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128 +CONFIG_EFI_PARTITION_ENTRIES_OFF=0 +CONFIG_PARTITION_UUIDS=y +CONFIG_PARTITION_TYPE_GUID=y +CONFIG_SUPPORT_OF_CONTROL=y + +# +# Device Tree Control +# +CONFIG_OF_CONTROL=y +CONFIG_OF_REAL=y +# CONFIG_OF_LIVE is not set +# CONFIG_OF_UPSTREAM is not set +CONFIG_OF_SEPARATE=y +# CONFIG_OF_EMBED is not set +# CONFIG_OF_INITIAL_DTB_READONLY is not set +# CONFIG_OF_BOARD is not set +# CONFIG_OF_OMIT_DTB is not set +CONFIG_DEVICE_TREE_INCLUDES="" +CONFIG_OF_LIST="coreboot" +# CONFIG_MULTI_DTB_FIT is not set +CONFIG_OF_TAG_MIGRATE=y +# CONFIG_OF_DTB_PROPS_REMOVE is not set + +# +# Environment +# +CONFIG_ENV_SUPPORT=y +CONFIG_SAVEENV=y +CONFIG_ENV_OVERWRITE=y +CONFIG_ENV_MIN_ENTRIES=64 +CONFIG_ENV_MAX_ENTRIES=512 +CONFIG_ENV_IS_DEFAULT=y +CONFIG_ENV_IS_NOWHERE=y +# CONFIG_ENV_IS_IN_EEPROM is not set +# CONFIG_ENV_IS_IN_FAT is not set +# CONFIG_ENV_IS_IN_EXT4 is not set +# CONFIG_ENV_IS_IN_FLASH is not set +# CONFIG_ENV_IS_IN_MMC is not set +# CONFIG_ENV_IS_IN_NAND is not set +# CONFIG_ENV_IS_IN_NVRAM is not set +# CONFIG_ENV_IS_IN_REMOTE is not set +# CONFIG_SYS_REDUNDAND_ENVIRONMENT is not set +CONFIG_SYS_RELOC_GD_ENV_ADDR=y +# CONFIG_USE_DEFAULT_ENV_FILE is not set +# CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG is not set +# CONFIG_ENV_IMPORT_FDT is not set +# CONFIG_ENV_APPEND is not set +# CONFIG_ENV_WRITEABLE_LIST is not set +# CONFIG_ENV_ACCESS_IGNORE_FORCE is not set +CONFIG_USE_BOOTFILE=y +CONFIG_BOOTFILE="bzImage" +# CONFIG_USE_ETHPRIME is not set +CONFIG_USE_HOSTNAME=y +CONFIG_HOSTNAME="x86" +# CONFIG_VERSION_VARIABLE is not set +CONFIG_NET=y +CONFIG_ARP_TIMEOUT=5000 +CONFIG_NET_RETRY_COUNT=5 +# CONFIG_PROT_UDP is not set +CONFIG_BOOTDEV_ETH=y +# CONFIG_BOOTP_SEND_HOSTNAME is not set +# CONFIG_NET_RANDOM_ETHADDR is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_IP_DEFRAG is not set +# CONFIG_SYS_FAULT_ECHO_LINK_DOWN is not set +CONFIG_TFTP_BLOCKSIZE=1468 +# CONFIG_TFTP_PORT is not set +CONFIG_TFTP_WINDOWSIZE=1 +CONFIG_TFTP_TSIZE=y +# CONFIG_SERVERIP_FROM_PROXYDHCP is not set +CONFIG_SERVERIP_FROM_PROXYDHCP_DELAY_MS=100 +# CONFIG_KEEP_SERVERADDR is not set +# CONFIG_UDP_CHECKSUM is not set +# CONFIG_BOOTP_SERVERIP is not set +CONFIG_BOOTP_MAX_ROOT_PATH_LEN=64 +# CONFIG_USE_GATEWAYIP is not set +# CONFIG_USE_IPADDR is not set +# CONFIG_USE_NETMASK is not set +CONFIG_USE_ROOTPATH=y +CONFIG_ROOTPATH="/opt/nfsroot" +# CONFIG_USE_SERVERIP is not set +# CONFIG_PROT_TCP is not set +# CONFIG_IPV6 is not set +CONFIG_SYS_RX_ETH_BUFFER=4 + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_DM=y +# CONFIG_DM_WARN is not set +# CONFIG_DM_DEBUG is not set +# CONFIG_DM_STATS is not set +CONFIG_DM_DEVICE_REMOVE=y +CONFIG_DM_EVENT=y +CONFIG_DM_STDIO=y +CONFIG_DM_SEQ_ALIAS=y +# CONFIG_DM_DMA is not set +CONFIG_REGMAP=y +CONFIG_SYSCON=y +# CONFIG_DEVRES is not set +CONFIG_SIMPLE_BUS=y +# CONFIG_SIMPLE_BUS_CORRECT_RANGE is not set +CONFIG_OF_TRANSLATE=y +# CONFIG_TRANSLATION_OFFSET is not set +CONFIG_DM_DEV_READ_INLINE=y +# CONFIG_OFNODE_MULTI_TREE is not set +# CONFIG_ACPIGEN is not set +# CONFIG_BOUNCE_BUFFER is not set +# CONFIG_ADC is not set +CONFIG_SATA=y +CONFIG_LIBATA=y +CONFIG_SCSI_AHCI=y + +# +# SATA/SCSI device support +# +CONFIG_AHCI_PCI=y +# CONFIG_DWC_AHCI is not set +# CONFIG_DWC_AHSATA is not set +# CONFIG_MTK_AHCI is not set +# CONFIG_SUNXI_AHCI is not set +# CONFIG_SATA_CEVA is not set +# CONFIG_SATA_MV is not set +# CONFIG_SATA_SIL is not set +# CONFIG_AXI is not set + +# +# Bus devices +# +CONFIG_BLK=y +CONFIG_BLOCK_CACHE=y +# CONFIG_BLKMAP is not set +# CONFIG_EFI_MEDIA is not set +CONFIG_IDE=y +CONFIG_SYS_IDE_MAXBUS=2 +CONFIG_SYS_IDE_MAXDEVICE=4 +CONFIG_SYS_ATA_BASE_ADDR=0x0 +CONFIG_SYS_ATA_STRIDE=0x1 +CONFIG_SYS_ATA_DATA_OFFSET=0 +CONFIG_SYS_ATA_REG_OFFSET=0 +CONFIG_SYS_ATA_ALT_OFFSET=0 +CONFIG_SYS_ATA_IDE0_OFFSET=0x1f0 +CONFIG_SYS_ATA_IDE1_OFFSET=0x170 +CONFIG_ATAPI=y +# CONFIG_IDE_RESET is not set +CONFIG_LBA48=y +CONFIG_SYS_64BIT_LBA=y +# CONFIG_RKMTD is not set +# CONFIG_BOOTCOUNT_LIMIT is not set + +# +# Button Support +# +# CONFIG_BUTTON is not set + +# +# Cache Controller drivers +# +# CONFIG_CACHE is not set +# CONFIG_ANDES_L2_CACHE is not set +# CONFIG_NCORE_CACHE is not set +# CONFIG_SIFIVE_CCACHE is not set +# CONFIG_SIFIVE_PL2 is not set + +# +# Clock +# +# CONFIG_CLK is not set +# CONFIG_CLK_CCF is not set +# CONFIG_COMMON_CLK_ADI_SHARED is not set +# CONFIG_CLK_RCAR is not set +# CONFIG_CLK_RCAR_CPG_LIB is not set +# CONFIG_CPU is not set + +# +# Hardware crypto devices +# +# CONFIG_DM_HASH is not set +# CONFIG_FSL_CAAM is not set +# CONFIG_SYS_FSL_SEC_BE is not set +# CONFIG_SYS_FSL_SEC_LE is not set +# CONFIG_NPCM_AES is not set +# CONFIG_NPCM_SHA is not set +# CONFIG_DDR_SPD is not set +# CONFIG_IMX_SNPS_DDR_PHY is not set + +# +# Demo for driver model +# +# CONFIG_DM_DEMO is not set + +# +# DFU support +# + +# +# DMA Support +# +# CONFIG_DMA is not set +# CONFIG_DMA_LPC32XX is not set +# CONFIG_TI_EDMA3 is not set +# CONFIG_DMA_LEGACY is not set + +# +# Extcon Support +# +# CONFIG_EXTCON is not set + +# +# Fastboot support +# +# CONFIG_UDP_FUNCTION_FASTBOOT is not set +# CONFIG_TCP_FUNCTION_FASTBOOT is not set +# CONFIG_FIRMWARE is not set +# CONFIG_ZYNQMP_FIRMWARE is not set +# CONFIG_DM_FUZZING_ENGINE is not set + +# +# FPGA support +# +# CONFIG_FPGA_ALTERA is not set +# CONFIG_FPGA_SOCFPGA is not set +# CONFIG_FPGA_LATTICE is not set +# CONFIG_FPGA_XILINX is not set +# CONFIG_DM_FPGA is not set +# CONFIG_FWU_MDATA is not set +CONFIG_GPIO=y +# CONFIG_GPIO_HOG is not set +# CONFIG_DM_GPIO_LOOKUP_LABEL is not set +# CONFIG_ALTERA_PIO is not set +# CONFIG_BCM2835_GPIO is not set +# CONFIG_DWAPB_GPIO is not set +# CONFIG_AT91_GPIO is not set +# CONFIG_ATMEL_PIO4 is not set +# CONFIG_ASPEED_GPIO is not set +# CONFIG_DA8XX_GPIO is not set +# CONFIG_HIKEY_GPIO is not set +# CONFIG_INTEL_BROADWELL_GPIO is not set +# CONFIG_INTEL_GPIO is not set +# CONFIG_INTEL_ICH6_GPIO is not set +# CONFIG_IMX_RGPIO2P is not set +# CONFIG_IPROC_GPIO is not set +# CONFIG_HSDK_CREG_GPIO is not set +# CONFIG_KIRKWOOD_GPIO is not set +# CONFIG_LPC32XX_GPIO is not set +# CONFIG_MCP230XX_GPIO is not set +# CONFIG_MSM_GPIO is not set +# CONFIG_MXC_GPIO is not set +# CONFIG_MXS_GPIO is not set +# CONFIG_NPCM_GPIO is not set +# CONFIG_CMD_PCA953X is not set +# CONFIG_ROCKCHIP_GPIO is not set +# CONFIG_XILINX_GPIO is not set +# CONFIG_TCA642X is not set +# CONFIG_TEGRA_GPIO is not set +# CONFIG_TEGRA186_GPIO is not set +# CONFIG_VYBRID_GPIO is not set +# CONFIG_SIFIVE_GPIO is not set +# CONFIG_ZYNQ_GPIO is not set +# CONFIG_DM_74X164 is not set +# CONFIG_PCA953X is not set +# CONFIG_MPC8XXX_GPIO is not set +# CONFIG_MPC8XX_GPIO is not set +# CONFIG_NX_GPIO is not set +# CONFIG_NOMADIK_GPIO is not set +# CONFIG_SLG7XL45106_I2C_GPO is not set +# CONFIG_FTGPIO010 is not set + +# +# Hardware Spinlock Support +# +# CONFIG_DM_HWSPINLOCK is not set +CONFIG_I2C=y +# CONFIG_DM_I2C is not set +# CONFIG_SYS_I2C_LEGACY is not set +# CONFIG_SPL_SYS_I2C_LEGACY is not set +# CONFIG_TPL_SYS_I2C_LEGACY is not set +# CONFIG_SYS_I2C_FSL is not set +# CONFIG_SYS_I2C_DW is not set +# CONFIG_SYS_I2C_IMX_LPI2C is not set +# CONFIG_SYS_I2C_MTK is not set +# CONFIG_SYS_I2C_MICROCHIP is not set +# CONFIG_SYS_I2C_MXC is not set +# CONFIG_SYS_I2C_NPCM is not set +# CONFIG_SYS_I2C_SOFT is not set +# CONFIG_SYS_I2C_MV is not set +# CONFIG_SYS_I2C_MVTWSI is not set +CONFIG_INPUT=y +CONFIG_DM_KEYBOARD=y +# CONFIG_BUTTON_KEYBOARD is not set +# CONFIG_CROS_EC_KEYB is not set +CONFIG_I8042_KEYB=y +# CONFIG_TEGRA_KEYBOARD is not set +# CONFIG_TWL4030_INPUT is not set + +# +# IOMMU device drivers +# +# CONFIG_IOMMU is not set + +# +# LED Support +# +# CONFIG_LED is not set +# CONFIG_LED_STATUS is not set + +# +# Mailbox Controller Support +# +# CONFIG_DM_MAILBOX is not set + +# +# Memory Controller drivers +# +# CONFIG_MEMORY is not set +# CONFIG_ATMEL_EBI is not set +# CONFIG_MFD_ATMEL_SMC is not set + +# +# Multifunction device drivers +# +# CONFIG_MISC is not set +# CONFIG_NVMEM is not set +# CONFIG_SPL_NVMEM is not set +# CONFIG_SMSC_LPC47M is not set +# CONFIG_SMSC_SIO1007 is not set +CONFIG_CBMEM_CONSOLE=y +# CONFIG_CROS_EC is not set +# CONFIG_DS4510 is not set +# CONFIG_FSL_SEC_MON is not set +CONFIG_IRQ=y +# CONFIG_NPCM_HOST is not set +# CONFIG_NUVOTON_NCT6102D is not set +# CONFIG_P2SB is not set +# CONFIG_PWRSEQ is not set +# CONFIG_PCA9551_LED is not set +# CONFIG_TEST_DRV is not set +# CONFIG_USB_HUB_USB251XB is not set +# CONFIG_TWL4030_LED is not set +# CONFIG_WINBOND_W83627 is not set +# CONFIG_FS_LOADER is not set + +# +# MMC Host controller Support +# +CONFIG_MMC=y +CONFIG_MMC_WRITE=y +# CONFIG_MMC_BROKEN_CD is not set +CONFIG_DM_MMC=y +# CONFIG_ARM_PL180_MMCI is not set +CONFIG_MMC_QUIRKS=y +CONFIG_SYS_MMC_MAX_BLK_COUNT=65535 +CONFIG_MMC_HW_PARTITIONING=y +# CONFIG_SUPPORT_EMMC_RPMB is not set +# CONFIG_SUPPORT_EMMC_BOOT is not set +# CONFIG_MMC_IO_VOLTAGE is not set +# CONFIG_MMC_HS400_ES_SUPPORT is not set +# CONFIG_MMC_HS400_SUPPORT is not set +# CONFIG_MMC_HS200_SUPPORT is not set +CONFIG_MMC_VERBOSE=y +# CONFIG_MMC_TRACE is not set +# CONFIG_MMC_DW is not set +# CONFIG_MMC_MXC is not set +CONFIG_MMC_PCI=y +# CONFIG_MMC_OMAP_HS is not set +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_SDMA=y +# CONFIG_MMC_SDHCI_ADMA is not set +# CONFIG_MMC_SDHCI_ADMA_FORCE_32BIT is not set +# CONFIG_MMC_SDHCI_ADMA_64BIT is not set +# CONFIG_MMC_SDHCI_BCMSTB is not set +# CONFIG_MMC_SDHCI_CADENCE is not set +# CONFIG_MMC_SDHCI_CV1800B is not set +# CONFIG_MMC_SDHCI_IPROC is not set +# CONFIG_MMC_SDHCI_F_SDH30 is not set +# CONFIG_MMC_SDHCI_KONA is not set +# CONFIG_MMC_SDHCI_MSM is not set +# CONFIG_MMC_SDHCI_NPCM is not set +# CONFIG_MMC_SDHCI_S5P is not set +# CONFIG_MMC_SDHCI_STI is not set +# CONFIG_MMC_SDHCI_XENON is not set +# CONFIG_MMC_SDHCI_TANGIER is not set +# CONFIG_MMC_SDHCI_ZYNQ is not set +# CONFIG_MMC_PITON is not set +# CONFIG_STM32_SDMMC2 is not set +# CONFIG_FTSDC010 is not set +# CONFIG_FSL_ESDHC is not set +# CONFIG_FSL_ESDHC_IMX is not set + +# +# MTD Support +# +CONFIG_MTD=y +# CONFIG_DM_MTD is not set +# CONFIG_MTD_NOR_FLASH is not set +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_SYS_MTDPARTS_RUNTIME is not set +# CONFIG_FLASH_CFI_DRIVER is not set +# CONFIG_HBMC_AM654 is not set +# CONFIG_SAMSUNG_ONENAND is not set +# CONFIG_USE_SYS_MAX_FLASH_BANKS is not set +# CONFIG_MTD_RAW_NAND is not set + +# +# SPI Flash Support +# +# CONFIG_SPI_FLASH is not set + +# +# UBI support +# +# CONFIG_UBI_SILENCE_MSG is not set +# CONFIG_MTD_UBI is not set +# CONFIG_NVMXIP is not set +# CONFIG_NVMXIP_QSPI is not set + +# +# Multiplexer drivers +# +# CONFIG_MULTIPLEXER is not set +# CONFIG_BITBANGMII is not set +# CONFIG_MV88E6352_SWITCH is not set +CONFIG_PHYLIB=y +# CONFIG_PHY_ADDR_ENABLE is not set +CONFIG_PHY_ANEG_TIMEOUT=4000 +# CONFIG_B53_SWITCH is not set +# CONFIG_MV88E61XX_SWITCH is not set +# CONFIG_PHYLIB_10G is not set +# CONFIG_PHY_ADIN is not set +# CONFIG_PHY_AQUANTIA is not set +# CONFIG_PHY_ATHEROS is not set +# CONFIG_SPL_PHY_ATHEROS is not set +# CONFIG_PHY_BROADCOM is not set +# CONFIG_PHY_CORTINA is not set +# CONFIG_PHY_DAVICOM is not set +# CONFIG_PHY_ET1011C is not set +# CONFIG_PHY_LXT is not set +# CONFIG_PHY_MARVELL is not set +# CONFIG_PHY_MARVELL_10G is not set +# CONFIG_PHY_MESON_GXL is not set +# CONFIG_PHY_MICREL is not set +# CONFIG_PHY_MOTORCOMM is not set +# CONFIG_PHY_MSCC is not set +# CONFIG_PHY_NATSEMI is not set +# CONFIG_PHY_NXP_C45_TJA11XX is not set +# CONFIG_PHY_NXP_TJA11XX is not set +# CONFIG_PHY_REALTEK is not set +# CONFIG_PHY_SMSC is not set +# CONFIG_PHY_TERANETICS is not set +# CONFIG_PHY_TI is not set +# CONFIG_PHY_TI_DP83867 is not set +# CONFIG_PHY_TI_DP83869 is not set +# CONFIG_PHY_TI_GENERIC is not set +# CONFIG_PHY_VITESSE is not set +# CONFIG_PHY_XILINX is not set +# CONFIG_PHY_XILINX_GMII2RGMII is not set +# CONFIG_PHY_XWAY is not set +# CONFIG_PHY_ETHERNET_ID is not set +# CONFIG_PHY_FIXED is not set +# CONFIG_PHY_NCSI is not set +# CONFIG_FSL_MEMAC is not set +CONFIG_PHY_RESET_DELAY=0 +# CONFIG_FSL_PFE is not set +CONFIG_ETH=y +CONFIG_DM_ETH=y +# CONFIG_DM_MDIO is not set +# CONFIG_DM_ETH_PHY is not set +CONFIG_NETDEVICES=y +# CONFIG_PHY_GIGE is not set +# CONFIG_ALTERA_TSE is not set +# CONFIG_BCM_SF2_ETH is not set +# CONFIG_BCMGENET is not set +# CONFIG_BNXT_ETH is not set +# CONFIG_CALXEDA_XGMAC is not set +# CONFIG_DWC_ETH_XGMAC is not set +# CONFIG_DRIVER_DM9000 is not set +# CONFIG_DWC_ETH_QOS is not set +CONFIG_E1000=y +# CONFIG_E1000_NO_NVM is not set +# CONFIG_E1000_SPI_GENERIC is not set +# CONFIG_E1000_SPI is not set +# CONFIG_CMD_E1000 is not set +# CONFIG_EEPRO100 is not set +CONFIG_ETH_DESIGNWARE=y +# CONFIG_ETH_DESIGNWARE_MESON8B is not set +# CONFIG_ETH_DESIGNWARE_SOCFPGA is not set +# CONFIG_ETH_DESIGNWARE_S700 is not set +# CONFIG_DW_ALTDESCRIPTOR is not set +# CONFIG_ETHOC is not set +# CONFIG_FTMAC100 is not set +# CONFIG_FTGMAC100 is not set +# CONFIG_MCFFEC is not set +# CONFIG_KS8851_MLL is not set +# CONFIG_LITEETH is not set +# CONFIG_MACB is not set +# CONFIG_NET_NPCM750 is not set +CONFIG_PCH_GBE=y +# CONFIG_RGMII is not set +# CONFIG_MII is not set +# CONFIG_RMII is not set +# CONFIG_PCNET is not set +# CONFIG_QE_UEC is not set +# CONFIG_RTL8139 is not set +CONFIG_RTL8169=y +# CONFIG_SMC911X is not set +# CONFIG_SUN7I_GMAC is not set +# CONFIG_SUN4I_EMAC is not set +# CONFIG_SUN8I_EMAC is not set +# CONFIG_SH_ETHER is not set +# CONFIG_DRIVER_TI_CPSW is not set +# CONFIG_DRIVER_TI_EMAC is not set +# CONFIG_DRIVER_TI_KEYSTONE_NET is not set +# CONFIG_TULIP is not set +# CONFIG_XILINX_AXIEMAC is not set +# CONFIG_VSC7385_ENET is not set +# CONFIG_XILINX_EMACLITE is not set +# CONFIG_ZYNQ_GEM is not set +# CONFIG_GMAC_ROCKCHIP is not set +# CONFIG_TSEC_ENET is not set +# CONFIG_MEDIATEK_ETH is not set +# CONFIG_HIFEMAC_ETH is not set +# CONFIG_HIGMACV300_ETH is not set +CONFIG_NVME=y +# CONFIG_NVME_APPLE is not set +CONFIG_NVME_PCI=y +# CONFIG_DM_PCI_COMPAT is not set +# CONFIG_PCI_PNP is not set +# CONFIG_PCI_REGION_MULTI_ENTRY is not set +CONFIG_PCI_CONFIG_HOST_BRIDGE=y +# CONFIG_PCI_SRIOV is not set +CONFIG_PCI_ENHANCED_ALLOCATION=y +# CONFIG_PCI_ARID is not set +# CONFIG_PCIE_ECAM_GENERIC is not set +# CONFIG_PCIE_ECAM_SYNQUACER is not set +# CONFIG_PCI_FTPCI100 is not set +# CONFIG_PCI_PHYTIUM is not set +# CONFIG_PCIE_FSL is not set +# CONFIG_PCI_MPC85XX is not set +# CONFIG_PCI_XILINX is not set +# CONFIG_PCIE_LAYERSCAPE_RC is not set +# CONFIG_PCIE_LAYERSCAPE_EP is not set +# CONFIG_PCIE_LAYERSCAPE_GEN4 is not set +# CONFIG_PCIE_INTEL_FPGA is not set +# CONFIG_PCIE_IPROC is not set +# CONFIG_PCI_KEYSTONE is not set +# CONFIG_PCIE_STARFIVE_JH7110 is not set + +# +# PCI Endpoint +# +# CONFIG_PCI_ENDPOINT is not set +CONFIG_PCH=y +CONFIG_X86_PCH7=y +CONFIG_X86_PCH9=y + +# +# PHY Subsystem +# +# CONFIG_PHY is not set +# CONFIG_MIPI_DPHY_HELPERS is not set + +# +# Rockchip PHY driver +# +# CONFIG_MVEBU_COMPHY_SUPPORT is not set + +# +# Pin controllers +# +# CONFIG_PINCTRL is not set +# CONFIG_PINCTRL_TEGRA is not set +CONFIG_POWER=y +# CONFIG_POWER_LEGACY is not set +# CONFIG_ACPI_PMC is not set + +# +# Power Domain Support +# +# CONFIG_POWER_DOMAIN is not set +# CONFIG_DM_PMIC is not set +# CONFIG_PMIC_TPS65217 is not set +# CONFIG_POWER_TPS65218 is not set +# CONFIG_POWER_TPS62362 is not set +# CONFIG_DM_REGULATOR is not set +# CONFIG_TPS6586X_POWER is not set +# CONFIG_POWER_MT6323 is not set +# CONFIG_DM_PWM is not set +# CONFIG_PWM_IMX is not set +# CONFIG_PWM_SANDBOX is not set +# CONFIG_U_QE is not set +# CONFIG_RAM is not set + +# +# Reboot Mode Support +# +# CONFIG_DM_REBOOT_MODE is not set + +# +# Remote Processor drivers +# +CONFIG_REMOTEPROC_MAX_FW_SIZE=0x10000 + +# +# Reset Controller Support +# +# CONFIG_RESET_SCMI is not set +# CONFIG_DM_RNG is not set + +# +# Real Time Clock +# +CONFIG_DM_RTC=y +# CONFIG_RTC_ENABLE_32KHZ_OUTPUT is not set +# CONFIG_RTC_PCF2127 is not set +# CONFIG_RTC_DS1307 is not set +# CONFIG_RTC_DS1337 is not set +# CONFIG_RTC_DS1338 is not set +# CONFIG_RTC_DS3231 is not set +# CONFIG_RTC_EMULATION is not set +# CONFIG_RTC_GOLDFISH is not set +# CONFIG_RTC_ISL1208 is not set +# CONFIG_RTC_PCF8563 is not set +# CONFIG_RTC_PT7C4338 is not set +# CONFIG_RTC_RV3028 is not set +# CONFIG_RTC_RV3029 is not set +# CONFIG_RTC_RV8803 is not set +# CONFIG_RTC_RX8010SJ is not set +# CONFIG_RTC_RX8025 is not set +# CONFIG_RTC_PL031 is not set +# CONFIG_RTC_MV is not set +# CONFIG_RTC_S35392A is not set +CONFIG_RTC_MC146818=y +# CONFIG_RTC_M41T62 is not set +# CONFIG_RTC_STM32 is not set +# CONFIG_RTC_ABX80X is not set +# CONFIG_RTC_HT1380 is not set +CONFIG_SCSI=y +CONFIG_SERIAL=y +CONFIG_BAUDRATE=115200 +# CONFIG_DEFAULT_ENV_IS_RW is not set +CONFIG_REQUIRE_SERIAL_CONSOLE=y +# CONFIG_SPECIFY_CONSOLE_INDEX is not set +CONFIG_SERIAL_PRESENT=y +CONFIG_DM_SERIAL=y +# CONFIG_SERIAL_RX_BUFFER is not set +# CONFIG_SERIAL_PUTS is not set +# CONFIG_SERIAL_SEARCH_ALL is not set +# CONFIG_SERIAL_PROBE_ALL is not set +# CONFIG_VPL_DM_SERIAL is not set +# CONFIG_ALTERA_JTAG_UART is not set +# CONFIG_ALTERA_UART is not set +# CONFIG_ARC_SERIAL is not set +# CONFIG_ATMEL_USART is not set +# CONFIG_BCM6345_SERIAL is not set +CONFIG_COREBOOT_SERIAL=y +CONFIG_COREBOOT_SERIAL_FROM_DBG2=y +# CONFIG_CORTINA_UART is not set +# CONFIG_FSL_LINFLEXUART is not set +# CONFIG_FSL_LPUART is not set +# CONFIG_MVEBU_A3700_UART is not set +# CONFIG_MCFUART is not set +# CONFIG_NULLDEV_SERIAL is not set +CONFIG_SYS_NS16550=y +CONFIG_NS16550_DYNAMIC=y +CONFIG_SYS_NS16550_MEM32=y +# CONFIG_SYS_NS16550_PORT_MAPPED is not set +# CONFIG_PL01X_SERIAL is not set +# CONFIG_ROCKCHIP_SERIAL is not set +# CONFIG_XILINX_UARTLITE is not set +# CONFIG_MSM_SERIAL is not set +# CONFIG_MSM_GENI_SERIAL is not set +# CONFIG_MXS_AUART_SERIAL is not set +# CONFIG_OMAP_SERIAL is not set +# CONFIG_SIFIVE_SERIAL is not set +# CONFIG_ZYNQ_SERIAL is not set +# CONFIG_MTK_SERIAL is not set +# CONFIG_MT7620_SERIAL is not set +# CONFIG_NPCM_SERIAL is not set +# CONFIG_SM is not set +# CONFIG_MESON_SM is not set +# CONFIG_SMEM is not set + +# +# Sound support +# +CONFIG_SOUND=y +# CONFIG_I2S is not set +# CONFIG_SOUND_DA7219 is not set +CONFIG_SOUND_I8254=y +# CONFIG_SOUND_INTEL_HDA is not set +# CONFIG_SOUND_IVYBRIDGE is not set +# CONFIG_SOUND_MAX98357A is not set +# CONFIG_SOUND_RT5677 is not set + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_DEVICE is not set +# CONFIG_SOC_QCOM is not set +# CONFIG_SOC_SAMSUNG is not set +# CONFIG_SOC_TI is not set +# CONFIG_SPI is not set + +# +# SPMI support +# +# CONFIG_SPMI is not set +CONFIG_SYSINFO=y +CONFIG_SYSINFO_EXTRA=y +# CONFIG_SYSINFO_GAZERBEAM is not set +# CONFIG_SYSINFO_SANDBOX is not set +# CONFIG_SYSINFO_SMBIOS is not set +# CONFIG_SYSINFO_GPIO is not set + +# +# System reset device drivers +# +CONFIG_SYSRESET=y +CONFIG_SYSRESET_CMD_RESET=y +# CONFIG_SYSRESET_CV1800B is not set +# CONFIG_POWEROFF_GPIO is not set +# CONFIG_SYSRESET_GPIO is not set +# CONFIG_SYSRESET_SYSCON is not set +# CONFIG_SYSRESET_WATCHDOG is not set +# CONFIG_SYSRESET_RESETCTL is not set +CONFIG_SYSRESET_X86=y +# CONFIG_SYSRESET_SPL_X86 is not set +# CONFIG_SYSRESET_TPL_X86 is not set +# CONFIG_SYSRESET_MPC83XX is not set +# CONFIG_DM_THERMAL is not set + +# +# Timer Support +# +CONFIG_TIMER=y +# CONFIG_TIMER_EARLY is not set +# CONFIG_ALTERA_TIMER is not set +# CONFIG_AST_TIMER is not set +# CONFIG_ATCPIT100_TIMER is not set +# CONFIG_ATMEL_PIT_TIMER is not set +# CONFIG_CADENCE_TTC_TIMER is not set +# CONFIG_DESIGNWARE_APB_TIMER is not set +# CONFIG_FTTMR010_TIMER is not set +# CONFIG_GXP_TIMER is not set +# CONFIG_MPC83XX_TIMER is not set +# CONFIG_RENESAS_OSTM_TIMER is not set +# CONFIG_NOMADIK_MTU_TIMER is not set +# CONFIG_NPCM_TIMER is not set +# CONFIG_OMAP_TIMER is not set +# CONFIG_ORION_TIMER is not set +# CONFIG_ROCKCHIP_TIMER is not set +# CONFIG_SP804_TIMER is not set +# CONFIG_STM32_TIMER is not set +# CONFIG_TEGRA_TIMER is not set +CONFIG_X86_TSC_TIMER=y +CONFIG_X86_TSC_READ_BASE=y +# CONFIG_MTK_TIMER is not set +# CONFIG_MCHP_PIT64B_TIMER is not set +# CONFIG_IMX_GPT_TIMER is not set +# CONFIG_XILINX_TIMER is not set +# CONFIG_STARFIVE_TIMER is not set + +# +# TPM support +# +CONFIG_USB=y +CONFIG_DM_USB=y +# CONFIG_DM_USB_GADGET is not set + +# +# USB Host Controller Drivers +# +CONFIG_USB_HOST=y +CONFIG_USB_XHCI_HCD=y +# CONFIG_USB_XHCI_DWC3 is not set +# CONFIG_USB_XHCI_DWC3_OF_SIMPLE is not set +CONFIG_USB_XHCI_PCI=y +# CONFIG_USB_XHCI_FSL is not set +# CONFIG_USB_XHCI_BRCM is not set +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_MSM is not set +CONFIG_USB_EHCI_PCI=y +# CONFIG_USB_EHCI_ZYNQ is not set +# CONFIG_USB_EHCI_GENERIC is not set +# CONFIG_USB_EHCI_FSL is not set +# CONFIG_USB_OHCI_HCD is not set +# CONFIG_USB_UHCI_HCD is not set +# CONFIG_USB_DWC2 is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_ISP1760 is not set +# CONFIG_USB_CDNS3 is not set +# CONFIG_USB_DWC3 is not set + +# +# Legacy MUSB Support +# +# CONFIG_USB_MUSB_HCD is not set +# CONFIG_USB_MUSB_UDC is not set + +# +# MUSB Controller Driver +# +# CONFIG_USB_MUSB_HOST is not set +# CONFIG_USB_MUSB_PIO_ONLY is not set + +# +# USB Phy +# +# CONFIG_TWL4030_USB is not set +# CONFIG_ROCKCHIP_USB2_PHY is not set + +# +# ULPI drivers +# + +# +# USB peripherals +# +CONFIG_USB_STORAGE=y +CONFIG_USB_KEYBOARD=y +# CONFIG_USB_ONBOARD_HUB is not set +CONFIG_USB_HUB_DEBOUNCE_TIMEOUT=1000 +CONFIG_USB_KEYBOARD_FN_KEYS=y +CONFIG_SYS_USB_EVENT_POLL=y +# CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE is not set +# CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP is not set +CONFIG_USB_HOST_ETHER=y +CONFIG_USB_ETHER_ASIX=y +# CONFIG_USB_ETHER_ASIX88179 is not set +# CONFIG_USB_ETHER_LAN75XX is not set +# CONFIG_USB_ETHER_LAN78XX is not set +# CONFIG_USB_ETHER_MCS7830 is not set +# CONFIG_USB_ETHER_RTL8152 is not set +CONFIG_USB_ETHER_SMSC95XX=y +# CONFIG_USB_GADGET is not set +# CONFIG_SPL_USB_GADGET is not set + +# +# UFS Host Controller Support +# +# CONFIG_UFS is not set +# CONFIG_TI_J721E_UFS is not set + +# +# Graphics support +# +CONFIG_VIDEO=y +# CONFIG_VIDEO_FONT_4X6 is not set +CONFIG_VIDEO_FONT_8X16=y +# CONFIG_VIDEO_FONT_SUN12X22 is not set +# CONFIG_VIDEO_FONT_16X32 is not set +CONFIG_VIDEO_LOGO=y +CONFIG_BACKLIGHT=y +CONFIG_VIDEO_PCI_DEFAULT_FB_SIZE=0x1000000 +CONFIG_VIDEO_COPY=y +# CONFIG_BACKLIGHT_GPIO is not set +CONFIG_VIDEO_BPP8=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_VIDEO_ANSI=y +# CONFIG_VIDEO_MIPI_DSI is not set +CONFIG_CONSOLE_NORMAL=y +# CONFIG_CONSOLE_ROTATION is not set +CONFIG_CONSOLE_TRUETYPE=y +CONFIG_CONSOLE_TRUETYPE_SIZE=18 +CONFIG_CONSOLE_TRUETYPE_MAX_METRICS=10 +CONFIG_SYS_WHITE_ON_BLACK=y +# CONFIG_NO_FB_CLEAR is not set +CONFIG_VIDEO_SYNC_MS=100 +CONFIG_VIDEO_SYNC_CYCLIC_MS=10 +CONFIG_PANEL=y +CONFIG_SIMPLE_PANEL=y +# CONFIG_PANEL_HX8238D is not set + +# +# TrueType Fonts +# +CONFIG_CONSOLE_TRUETYPE_NIMBUS=y +# CONFIG_CONSOLE_TRUETYPE_ANKACODER is not set +# CONFIG_CONSOLE_TRUETYPE_RUFSCRIPT is not set +# CONFIG_CONSOLE_TRUETYPE_CANTORAONE is not set +# CONFIG_VIDCONSOLE_AS_LCD is not set +# CONFIG_VIDEO_BOCHS is not set +CONFIG_VIDEO_COREBOOT=y +# CONFIG_VIDEO_VESA is not set +# CONFIG_VIDEO_LCD_ANX9804 is not set +# CONFIG_ATMEL_LCD_BGR555 is not set +# CONFIG_VIDEO_BCM2835 is not set +# CONFIG_VIDEO_LCD_ENDEAVORU is not set +# CONFIG_VIDEO_LCD_HIMAX_HX8394 is not set +# CONFIG_VIDEO_LCD_ORISETECH_OTM8009A is not set +# CONFIG_VIDEO_LCD_LG_LD070WX3 is not set +# CONFIG_VIDEO_LCD_RAYDIUM_RM68200 is not set +# CONFIG_VIDEO_LCD_RENESAS_R61307 is not set +# CONFIG_VIDEO_LCD_RENESAS_R69328 is not set +# CONFIG_VIDEO_LCD_SAMSUNG_LTL106HL02 is not set +# CONFIG_VIDEO_LCD_SSD2828 is not set +# CONFIG_VIDEO_LCD_TDO_TL070WSH30 is not set +# CONFIG_VIDEO_LCD_HITACHI_TX18D42VM is not set +# CONFIG_VIDEO_MESON is not set +# CONFIG_VIDEO_MVEBU is not set +# CONFIG_I2C_EDID is not set +# CONFIG_DISPLAY is not set +# CONFIG_ATMEL_HLCD is not set +# CONFIG_BACKLIGHT_LM3533 is not set +# CONFIG_AM335X_LCD is not set +# CONFIG_VIDEO_EXYNOS is not set +# CONFIG_VIDEO_BROADWELL_IGD is not set +# CONFIG_VIDEO_IVYBRIDGE_IGD is not set +# CONFIG_VIDEO_ROCKCHIP is not set +# CONFIG_VIDEO_ARM_MALIDP is not set +# CONFIG_VIDEO_STM32 is not set +# CONFIG_VIDEO_TIDSS is not set +# CONFIG_VIDEO_TEGRA124 is not set +# CONFIG_VIDEO_BRIDGE is not set +# CONFIG_VIDEO_BRIDGE_PARADE_DP501 is not set +# CONFIG_VIDEO_BRIDGE_SOLOMON_SSD2825 is not set +# CONFIG_VIDEO_BRIDGE_TOSHIBA_TC358768 is not set +# CONFIG_VIDEO_TEGRA20 is not set +# CONFIG_VIDEO_DSI_TEGRA30 is not set +# CONFIG_TEGRA_BACKLIGHT_PWM is not set +# CONFIG_VIDEO_MXS is not set +# CONFIG_VIDEO_SEPS525 is not set +CONFIG_CONSOLE_SCROLL_LINES=5 +# CONFIG_VIDEO_SIMPLE is not set +# CONFIG_VIDEO_DT_SIMPLEFB is not set +# CONFIG_VIDEO_MCDE_SIMPLE is not set +# CONFIG_OSD is not set +# CONFIG_VIDEO_REMOVE is not set +# CONFIG_SPLASH_SCREEN is not set +# CONFIG_BMP is not set +CONFIG_VIDEO_LOGO_MAX_SIZE=0x100000 +CONFIG_VIDEO_BMP_RLE8=y +# CONFIG_BMP_16BPP is not set +# CONFIG_BMP_24BPP is not set +# CONFIG_BMP_32BPP is not set + +# +# VirtIO Drivers +# +# CONFIG_VIRTIO_MMIO is not set +# CONFIG_VIRTIO_PCI is not set +# CONFIG_VIRTIO_PCI_LEGACY is not set + +# +# 1-Wire support +# +# CONFIG_W1 is not set + +# +# 1-wire EEPROM support +# +# CONFIG_W1_EEPROM is not set + +# +# Watchdog Timer Support +# +# CONFIG_WATCHDOG is not set +# CONFIG_IMX_WATCHDOG is not set +# CONFIG_ULP_WATCHDOG is not set +# CONFIG_WDT is not set +# CONFIG_PHYS_TO_BUS is not set + +# +# File systems +# +# CONFIG_FS_BTRFS is not set +CONFIG_FS_CBFS=y +CONFIG_FS_EXT4=y +CONFIG_EXT4_WRITE=y +CONFIG_FS_FAT=y +CONFIG_FAT_WRITE=y +CONFIG_FS_FAT_MAX_CLUSTSIZE=65536 +# CONFIG_FS_JFFS2 is not set +# CONFIG_UBIFS_SILENCE_MSG is not set +# CONFIG_UBIFS_SILENCE_DEBUG_DUMP is not set +# CONFIG_FS_CRAMFS is not set +# CONFIG_YAFFS2 is not set +# CONFIG_FS_SQUASHFS is not set +# CONFIG_FS_EROFS is not set + +# +# Library routines +# +# CONFIG_ADDR_MAP is not set +# CONFIG_SYS_TIMER_COUNTS_DOWN is not set +CONFIG_PHYSMEM=y +# CONFIG_BCH is not set +# CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set +CONFIG_CHARSET=y +# CONFIG_DYNAMIC_CRC_TABLE is not set +CONFIG_HAVE_ARCH_IOMAP=y +CONFIG_HAVE_PRIVATE_LIBGCC=y +CONFIG_LIB_UUID=y +# CONFIG_RANDOM_UUID is not set +CONFIG_PRINTF=y +CONFIG_SPRINTF=y +CONFIG_STRTO=y +CONFIG_USE_PRIVATE_LIBGCC=y +CONFIG_SYS_HZ=1000 +# CONFIG_PANIC_HANG is not set +CONFIG_REGEX=y +CONFIG_LIB_RAND=y +# CONFIG_LIB_HW_RAND is not set +CONFIG_SUPPORT_ACPI=y +CONFIG_ACPI=y +# CONFIG_GENERATE_ACPI_TABLE is not set +# CONFIG_BITREVERSE is not set +# CONFIG_TRACE is not set +# CONFIG_CIRCBUF is not set +CONFIG_CMD_DHRYSTONE=y + +# +# Security support +# +# CONFIG_AES is not set +# CONFIG_ECDSA is not set +CONFIG_RSA=y +CONFIG_RSA_VERIFY=y +# CONFIG_RSA_VERIFY_WITH_PKEY is not set +CONFIG_RSA_SOFTWARE_EXP=y +# CONFIG_ASYMMETRIC_KEY_TYPE is not set +# CONFIG_TPM is not set + +# +# Android Verified Boot +# + +# +# Hashing Support +# +# CONFIG_BLAKE2 is not set +CONFIG_SHA1=y +CONFIG_SHA256=y +# CONFIG_SHA512 is not set +# CONFIG_SHA384 is not set +# CONFIG_SHA_HW_ACCEL is not set +CONFIG_MD5=y +CONFIG_CRC8=y +CONFIG_CRC32=y + +# +# Compression Support +# +# CONFIG_LZ4 is not set +# CONFIG_LZMA is not set +# CONFIG_LZO is not set +# CONFIG_GZIP is not set +# CONFIG_ZLIB_UNCOMPRESS is not set +# CONFIG_BZIP2 is not set +CONFIG_ZLIB=y +# CONFIG_ZSTD is not set +# CONFIG_VPL_LZMA is not set +# CONFIG_SPL_GZIP is not set +# CONFIG_ERRNO_STR is not set +# CONFIG_HEXDUMP is not set +# CONFIG_GETOPT is not set +CONFIG_OF_LIBFDT=y +CONFIG_OF_LIBFDT_ASSUME_MASK=0x0 +CONFIG_SYS_FDT_PAD=0x3000 +# CONFIG_LIB_RATIONAL is not set +CONFIG_SMBIOS=y +CONFIG_SMBIOS_PARSER=y +# CONFIG_EFI is not set +CONFIG_EFI_LOADER=y +CONFIG_EFI_BINARY_EXEC=y +CONFIG_EFI_BOOTMGR=y +CONFIG_EFI_VARIABLE_FILE_STORE=y +# CONFIG_EFI_RT_VOLATILE_STORE is not set +# CONFIG_EFI_VARIABLE_NO_STORE is not set +# CONFIG_EFI_VARIABLES_PRESEED is not set +CONFIG_EFI_VAR_BUF_SIZE=131072 +CONFIG_EFI_GET_TIME=y +# CONFIG_EFI_SET_TIME is not set +# CONFIG_EFI_SCROLL_ON_CLEAR_SCREEN is not set +# CONFIG_EFI_RUNTIME_UPDATE_CAPSULE is not set +# CONFIG_EFI_CAPSULE_ON_DISK is not set +CONFIG_EFI_CAPSULE_MAX=15 +CONFIG_EFI_DEVICE_PATH_TO_TEXT=y +CONFIG_EFI_DEVICE_PATH_UTIL=y +CONFIG_EFI_DT_FIXUP=y +CONFIG_EFI_LOADER_HII=y +CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=y +CONFIG_EFI_UNICODE_CAPITALIZATION=y +# CONFIG_EFI_LOADER_BOUNCE_BUFFER is not set +CONFIG_EFI_PLATFORM_LANG_CODES="en-US" +CONFIG_EFI_HAVE_RUNTIME_RESET=y +CONFIG_EFI_LOAD_FILE2_INITRD=y +# CONFIG_EFI_SECURE_BOOT is not set +CONFIG_EFI_ECPT=y +CONFIG_EFI_EBBR_2_1_CONFORMANCE=y +# CONFIG_EFI_HTTP_BOOT is not set +# CONFIG_OPTEE_LIB is not set +# CONFIG_OPTEE_IMAGE is not set +# CONFIG_BOOTM_OPTEE is not set +# CONFIG_TEST_FDTDEC is not set +CONFIG_LIB_DATE=y +CONFIG_LIB_ELF=y +CONFIG_LMB=y +CONFIG_LMB_USE_MAX_REGIONS=y +CONFIG_LMB_MAX_REGIONS=16 +# CONFIG_PHANDLE_CHECK_SEQ is not set + +# +# Testing +# +# CONFIG_UNIT_TEST is not set +# CONFIG_POST is not set + +# +# Tools options +# +CONFIG_MKIMAGE_DTC_PATH="dtc" +CONFIG_TOOLS_CRC32=y +CONFIG_TOOLS_LIBCRYPTO=y +CONFIG_TOOLS_KWBIMAGE=y +CONFIG_TOOLS_FIT=y +CONFIG_TOOLS_FIT_FULL_CHECK=y +CONFIG_TOOLS_FIT_PRINT=y +CONFIG_TOOLS_FIT_RSASSA_PSS=y +CONFIG_TOOLS_FIT_SIGNATURE=y +CONFIG_TOOLS_FIT_SIGNATURE_MAX_SIZE=0x10000000 +CONFIG_TOOLS_FIT_VERBOSE=y +CONFIG_TOOLS_MD5=y +CONFIG_TOOLS_OF_LIBFDT=y +CONFIG_TOOLS_SHA1=y +CONFIG_TOOLS_SHA256=y +CONFIG_TOOLS_SHA384=y +CONFIG_TOOLS_SHA512=y +CONFIG_TOOLS_MKEFICAPSULE=y +# CONFIG_FSPI_CONF_HEADER is not set +# CONFIG_TOOLS_MKFWUMDATA is not set diff --git a/config/module/u-boot/i386coreboot/target.cfg b/config/module/u-boot/i386coreboot/target.cfg new file mode 100644 index 00000000..40b0013e --- /dev/null +++ b/config/module/u-boot/i386coreboot/target.cfg @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +tree="x86" diff --git a/config/module/u-boot/qemu_arm64_12mb/config/default b/config/module/u-boot/qemu_arm64_12mb/config/default new file mode 100644 index 00000000..2cd0b94c --- /dev/null +++ b/config/module/u-boot/qemu_arm64_12mb/config/default @@ -0,0 +1,1894 @@ +# +# Automatically generated file; DO NOT EDIT. +# U-Boot 2025.04 Configuration +# + +# +# Compiler: gcc (Debian 14.2.0-19) 14.2.0 +# +CONFIG_CREATE_ARCH_SYMLINK=y +CONFIG_HAVE_SETJMP=y +CONFIG_SUPPORT_LITTLE_ENDIAN=y +CONFIG_SYS_CACHE_SHIFT_6=y +CONFIG_64BIT=y +CONFIG_SYS_CACHELINE_SIZE=64 +CONFIG_LINKER_LIST_ALIGN=8 +# CONFIG_ARC is not set +CONFIG_ARM=y +# CONFIG_M68K is not set +# CONFIG_MICROBLAZE is not set +# CONFIG_MIPS is not set +# CONFIG_NIOS2 is not set +# CONFIG_PPC is not set +# CONFIG_RISCV is not set +# CONFIG_SANDBOX is not set +# CONFIG_SH is not set +# CONFIG_X86 is not set +# CONFIG_XTENSA is not set +CONFIG_SYS_ARCH="arm" +CONFIG_SYS_CPU="armv8" +CONFIG_SYS_VENDOR="emulation" +CONFIG_SYS_BOARD="qemu-arm" +CONFIG_SYS_CONFIG_NAME="qemu-arm" + +# +# Skipping low level initialization functions +# +# CONFIG_SKIP_LOWLEVEL_INIT is not set +# CONFIG_SKIP_LOWLEVEL_INIT_ONLY is not set +# CONFIG_SYS_ICACHE_OFF is not set +# CONFIG_SYS_DCACHE_OFF is not set + +# +# ARM architecture +# +CONFIG_ARM64=y +CONFIG_ARM64_CRC32=y +CONFIG_COUNTER_FREQUENCY=0 +CONFIG_POSITION_INDEPENDENT=y +# CONFIG_INIT_SP_RELATIVE is not set +# CONFIG_DRIVER_GICV2 is not set +# CONFIG_GIC_V3_ITS is not set +# CONFIG_GICV3_SUPPORT_GIC600 is not set +CONFIG_STATIC_RELA=y +CONFIG_DMA_ADDR_T_64BIT=y +CONFIG_ARM_ASM_UNIFIED=y +# CONFIG_SYS_ARM_CACHE_CP15 is not set +# CONFIG_SYS_ARM_MMU is not set +# CONFIG_SYS_ARM_MPU is not set +CONFIG_SYS_ARM_ARCH=8 +CONFIG_SYS_ARM_CACHE_WRITEBACK=y +# CONFIG_SYS_ARM_CACHE_WRITETHROUGH is not set +# CONFIG_SYS_ARM_CACHE_WRITEALLOC is not set +# CONFIG_ARCH_CPU_INIT is not set +CONFIG_SYS_ARCH_TIMER=y +CONFIG_ARM_SMCCC=y +# CONFIG_SYS_L2_PL310 is not set +# CONFIG_SPL_SYS_L2_PL310 is not set +# CONFIG_SYS_L2CACHE_OFF is not set +# CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK is not set +# CONFIG_USE_ARCH_MEMCPY is not set +# CONFIG_USE_ARCH_MEMSET is not set +CONFIG_ARM64_SUPPORT_AARCH32=y +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_HISTB is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_MVEBU is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_BCM283X is not set +# CONFIG_ARCH_BCMSTB is not set +# CONFIG_ARCH_BCMBCA is not set +# CONFIG_TARGET_VEXPRESS_CA9X4 is not set +# CONFIG_TARGET_BCMNS is not set +# CONFIG_TARGET_BCMNS3 is not set +# CONFIG_ARCH_EXYNOS is not set +# CONFIG_ARCH_S5PC1XX is not set +# CONFIG_ARCH_HIGHBANK is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_IPQ40XX is not set +# CONFIG_ARCH_KEYSTONE is not set +# CONFIG_ARCH_K3 is not set +# CONFIG_ARCH_OMAP2PLUS is not set +# CONFIG_ARCH_MESON is not set +# CONFIG_ARCH_MEDIATEK is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_LPC32XX is not set +# CONFIG_ARCH_IMX8 is not set +# CONFIG_ARCH_IMX8M is not set +# CONFIG_ARCH_IMX8ULP is not set +# CONFIG_ARCH_IMX9 is not set +# CONFIG_ARCH_IMXRT is not set +# CONFIG_ARCH_MX23 is not set +# CONFIG_ARCH_MX28 is not set +# CONFIG_ARCH_MX31 is not set +# CONFIG_ARCH_MX7ULP is not set +# CONFIG_ARCH_MX7 is not set +# CONFIG_ARCH_MX6 is not set +# CONFIG_ARCH_MX5 is not set +# CONFIG_ARCH_NEXELL is not set +# CONFIG_ARCH_NPCM is not set +# CONFIG_ARCH_APPLE is not set +# CONFIG_ARCH_OWL is not set +CONFIG_ARCH_QEMU=y +# CONFIG_ARCH_RENESAS is not set +# CONFIG_ARCH_SNAPDRAGON is not set +# CONFIG_ARCH_SOCFPGA is not set +# CONFIG_ARCH_SUNXI is not set +# CONFIG_ARCH_U8500 is not set +# CONFIG_ARCH_VERSAL is not set +# CONFIG_ARCH_VERSAL2 is not set +# CONFIG_ARCH_VERSAL_NET is not set +# CONFIG_ARCH_VF610 is not set +# CONFIG_ARCH_ZYNQ is not set +# CONFIG_ARCH_ZYNQMP_R5 is not set +# CONFIG_ARCH_ZYNQMP is not set +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARCH_VEXPRESS64 is not set +# CONFIG_TARGET_CORSTONE1000 is not set +# CONFIG_TARGET_TOTAL_COMPUTE is not set +# CONFIG_TARGET_LS2080A_EMU is not set +# CONFIG_TARGET_LS1088AQDS is not set +# CONFIG_TARGET_LS2080AQDS is not set +# CONFIG_TARGET_LS2080ARDB is not set +# CONFIG_TARGET_LS2081ARDB is not set +# CONFIG_TARGET_LX2160ARDB is not set +# CONFIG_TARGET_LX2160AQDS is not set +# CONFIG_TARGET_LX2162AQDS is not set +# CONFIG_TARGET_HIKEY is not set +# CONFIG_TARGET_HIKEY960 is not set +# CONFIG_TARGET_POPLAR is not set +# CONFIG_TARGET_LS1012AQDS is not set +# CONFIG_TARGET_LS1012ARDB is not set +# CONFIG_TARGET_LS1012A2G5RDB is not set +# CONFIG_TARGET_LS1012AFRWY is not set +# CONFIG_TARGET_LS1012AFRDM is not set +# CONFIG_TARGET_LS1028AQDS is not set +# CONFIG_TARGET_LS1028ARDB is not set +# CONFIG_TARGET_LS1088ARDB is not set +# CONFIG_TARGET_LS1021AQDS is not set +# CONFIG_TARGET_LS1021ATWR is not set +# CONFIG_TARGET_PG_WCOM_SELI8 is not set +# CONFIG_TARGET_PG_WCOM_EXPU1 is not set +# CONFIG_TARGET_LS1021ATSN is not set +# CONFIG_TARGET_LS1021AIOT is not set +# CONFIG_TARGET_LS1043AQDS is not set +# CONFIG_TARGET_LS1043ARDB is not set +# CONFIG_TARGET_LS1046AQDS is not set +# CONFIG_TARGET_LS1046ARDB is not set +# CONFIG_TARGET_LS1046AFRWY is not set +# CONFIG_ARCH_SC5XX is not set +# CONFIG_TARGET_SL28 is not set +# CONFIG_TARGET_TEN64 is not set +# CONFIG_ARCH_UNIPHIER is not set +# CONFIG_ARCH_SYNQUACER is not set +# CONFIG_ARCH_STM32 is not set +# CONFIG_ARCH_STI is not set +# CONFIG_ARCH_STM32MP is not set +# CONFIG_ARCH_ROCKCHIP is not set +# CONFIG_ARCH_OCTEONTX is not set +# CONFIG_ARCH_OCTEONTX2 is not set +# CONFIG_TARGET_THUNDERX_88XX is not set +# CONFIG_ARCH_ASPEED is not set +# CONFIG_TARGET_DURIAN is not set +# CONFIG_TARGET_POMELO is not set +# CONFIG_TARGET_PE2201 is not set +# CONFIG_TARGET_PRESIDIO_ASIC is not set +# CONFIG_TARGET_XENGUEST_ARM64 is not set +# CONFIG_ARCH_GXP is not set +CONFIG_TEXT_BASE=0x50000000 +CONFIG_SYS_MALLOC_LEN=0x1000000 +CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_BLOBLIST_SIZE_RELOC=0x2000 +CONFIG_NR_DRAM_BANKS=1 +CONFIG_ENV_SOURCE_FILE="" +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x40200000 +CONFIG_ENV_SIZE=0x40000 +# CONFIG_DM_GPIO is not set +CONFIG_DEFAULT_DEVICE_TREE="qemu-arm64" +CONFIG_DDR_SI_TEST=y +CONFIG_BOARD_SPECIFIC_OPTIONS=y +# CONFIG_OF_LIBFDT_OVERLAY is not set +CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x8000 +# CONFIG_DM_RESET is not set +CONFIG_SYS_MONITOR_LEN=0 +# CONFIG_TARGET_QEMU_ARM_32BIT is not set +CONFIG_TARGET_QEMU_ARM_64BIT=y +# CONFIG_TARGET_QEMU_ARM_SBSA is not set +CONFIG_SYS_BOOTM_LEN=0x4000000 +CONFIG_SYS_LOAD_ADDR=0x40200000 +CONFIG_WATCHDOG_TIMEOUT_MSECS=60000 +CONFIG_ERR_PTR_OFFSET=0x0 +CONFIG_PRE_CON_BUF_ADDR=0x40100000 +CONFIG_PRE_CON_BUF_SZ=4096 +CONFIG_DEBUG_UART_BASE=0x9000000 +CONFIG_DEBUG_UART_CLOCK=0 +# CONFIG_DEBUG_UART_BOARD_INIT is not set +CONFIG_IDENT_STRING="" +CONFIG_SYS_CLK_FREQ=0 +# CONFIG_CHIP_DIP_SCAN is not set +# CONFIG_CMO_BY_VA_ONLY is not set +# CONFIG_ARMV8_MULTIENTRY is not set +# CONFIG_ARMV8_SET_SMPEN is not set +# CONFIG_ARMV8_SWITCH_TO_EL1 is not set + +# +# ARMv8 secure monitor firmware +# +# CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT is not set +CONFIG_PSCI_RESET=y +# CONFIG_ARMV8_PSCI is not set +# CONFIG_ARMV8_EA_EL3_FIRST is not set +# CONFIG_ARMV8_UDELAY_EVENT_STREAM is not set +CONFIG_ARMV8_CRYPTO=y +CONFIG_ARMV8_CE_SHA1=y +CONFIG_ARMV8_CE_SHA256=y +CONFIG_SYS_MEM_TOP_HIDE=0x0 +CONFIG_MTDPARTS_NOR0="64m(u-boot)" +CONFIG_MTDPARTS_NOR1="64m(u-boot-env)" + +# +# ARM debug +# +CONFIG_BUILD_TARGET="" +# CONFIG_SYS_PCI_64BIT is not set +CONFIG_PCI=y +CONFIG_FWU_NUM_BANKS=2 +CONFIG_FWU_NUM_IMAGES_PER_BANK=2 +CONFIG_DEBUG_UART=y +CONFIG_AHCI=y +# CONFIG_OF_BOARD_FIXUP is not set + +# +# Functionality shared between NXP SoCs +# +# CONFIG_NXP_ESBC is not set +CONFIG_SYS_LITTLE_ENDIAN=y + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=140200 +CONFIG_CLANG_VERSION=0 +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set +# CONFIG_CC_OPTIMIZE_FOR_DEBUG is not set +# CONFIG_OPTIMIZE_INLINING is not set +CONFIG_ARCH_SUPPORTS_LTO=y +# CONFIG_LTO is not set +CONFIG_CC_HAS_ASM_INLINE=y +# CONFIG_XEN is not set +CONFIG_ENV_VARS_UBOOT_CONFIG=y +# CONFIG_SYS_BOOT_GET_CMDLINE is not set +# CONFIG_SYS_BOOT_GET_KBD is not set +CONFIG_SYS_MALLOC_F=y +# CONFIG_VALGRIND is not set +CONFIG_EXPERT=y +CONFIG_SYS_MALLOC_CLEAR_ON_INIT=y +# CONFIG_SYS_MALLOC_DEFAULT_TO_INIT is not set +# CONFIG_TOOLS_DEBUG is not set +CONFIG_PHYS_64BIT=y +CONFIG_FDT_64BIT=y +# CONFIG_REMAKE_ELF is not set +# CONFIG_HAS_BOARD_SIZE_LIMIT is not set +# CONFIG_SYS_CUSTOM_LDSCRIPT is not set +CONFIG_PLATFORM_ELFENTRY="_start" +CONFIG_STACK_SIZE=0x1000000 +# CONFIG_MP is not set +CONFIG_HAVE_TEXT_BASE=y +# CONFIG_HAVE_SYS_UBOOT_START is not set +CONFIG_SYS_UBOOT_START=0x50000000 +CONFIG_HAVE_SYS_MONITOR_BASE=y +CONFIG_SYS_MONITOR_BASE=0x50000000 +# CONFIG_DYNAMIC_SYS_CLK_FREQ is not set +# CONFIG_API is not set + +# +# Boot options +# + +# +# UEFI Support +# +CONFIG_EFI_LOADER=y +CONFIG_EFI_BINARY_EXEC=y +# CONFIG_EFI_SECURE_BOOT is not set + +# +# UEFI services +# +CONFIG_EFI_GET_TIME=y +CONFIG_EFI_SET_TIME=y +CONFIG_EFI_HAVE_RUNTIME_RESET=y + +# +# UEFI Variables +# +CONFIG_EFI_VARIABLE_FILE_STORE=y +# CONFIG_EFI_RT_VOLATILE_STORE is not set +# CONFIG_EFI_VARIABLE_NO_STORE is not set +# CONFIG_EFI_VARIABLES_PRESEED is not set +CONFIG_EFI_VAR_BUF_SIZE=131072 +CONFIG_EFI_PLATFORM_LANG_CODES="en-US" + +# +# Capsule support +# +# CONFIG_EFI_RUNTIME_UPDATE_CAPSULE is not set +# CONFIG_EFI_CAPSULE_ON_DISK is not set +CONFIG_EFI_CAPSULE_MAX=15 + +# +# UEFI protocol support +# +CONFIG_EFI_DEVICE_PATH_TO_TEXT=y +CONFIG_EFI_DEVICE_PATH_UTIL=y +CONFIG_EFI_DT_FIXUP=y +CONFIG_EFI_LOADER_HII=y +CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=y +CONFIG_EFI_UNICODE_CAPITALIZATION=y +CONFIG_EFI_RNG_PROTOCOL=y +CONFIG_EFI_TCG2_PROTOCOL=y +# CONFIG_EFI_TCG2_PROTOCOL_MEASURE_DTB is not set +CONFIG_EFI_LOAD_FILE2_INITRD=y +CONFIG_EFI_IP4_CONFIG2_PROTOCOL=y +CONFIG_EFI_HTTP_PROTOCOL=y + +# +# Misc options +# +# CONFIG_EFI_LOADER_BOUNCE_BUFFER is not set +CONFIG_EFI_ECPT=y +CONFIG_EFI_EBBR_2_1_CONFORMANCE=y +# CONFIG_EFI_SCROLL_ON_CLEAR_SCREEN is not set + +# +# EFI bootmanager +# +CONFIG_EFI_BOOTMGR=y +CONFIG_EFI_HTTP_BOOT=y +CONFIG_BOOTEFI_HELLO_COMPILE=y +CONFIG_BOOTEFI_TESTAPP_COMPILE=y + +# +# Boot images +# +# CONFIG_ANDROID_BOOT_IMAGE is not set +CONFIG_TIMESTAMP=y +CONFIG_FIT=y +CONFIG_FIT_EXTERNAL_OFFSET=0x0 +CONFIG_FIT_FULL_CHECK=y +CONFIG_FIT_SIGNATURE=y +CONFIG_FIT_SIGNATURE_MAX_SIZE=0x10000000 +# CONFIG_FIT_RSASSA_PSS is not set +# CONFIG_FIT_CIPHER is not set +CONFIG_FIT_VERBOSE=y +CONFIG_FIT_BEST_MATCH=y +CONFIG_FIT_PRINT=y +# CONFIG_SPL_LOAD_FIT_FULL is not set +CONFIG_PXE_UTILS=y +CONFIG_BOOT_DEFAULTS_FEATURES=y +CONFIG_BOOT_DEFAULTS_CMDS=y +CONFIG_BOOT_DEFAULTS=y +CONFIG_BOOTSTD=y +CONFIG_BOOTSTD_FULL=y +CONFIG_BOOTSTD_DEFAULTS=y +CONFIG_BOOTSTD_BOOTCOMMAND=y +CONFIG_BOOTSTD_MENU=y +CONFIG_BOOTMETH_GLOBAL=y +# CONFIG_BOOTMETH_ANDROID is not set +# CONFIG_BOOTMETH_CROS is not set +CONFIG_BOOTMETH_EXTLINUX=y +CONFIG_BOOTMETH_EXTLINUX_PXE=y +CONFIG_BOOTMETH_EFILOADER=y +CONFIG_BOOTMETH_EFI_BOOTMGR=y +CONFIG_BOOTMETH_QFW=y +CONFIG_BOOTMETH_VBE=y +CONFIG_BOOTMETH_DISTRO=y +CONFIG_BOOTMETH_VBE_REQUEST=y +CONFIG_BOOTMETH_VBE_SIMPLE=y +# CONFIG_BOOTMETH_VBE_ABREC is not set +CONFIG_BOOTMETH_VBE_SIMPLE_OS=y +CONFIG_EXPO=y +CONFIG_BOOTMETH_SCRIPT=y +# CONFIG_UPL is not set +CONFIG_LEGACY_IMAGE_FORMAT=y +# CONFIG_MEASURED_BOOT is not set +CONFIG_SUPPORT_RAW_INITRD=y +# CONFIG_CHROMEOS is not set +# CONFIG_CHROMEOS_VBOOT is not set +# CONFIG_RAMBOOT_PBL is not set +CONFIG_SYS_BOOT_RAMDISK_HIGH=y +# CONFIG_DISTRO_DEFAULTS is not set + +# +# Boot timing +# +# CONFIG_BOOTSTAGE is not set +# CONFIG_SHOW_BOOT_PROGRESS is not set + +# +# Boot media +# +# CONFIG_NAND_BOOT is not set +# CONFIG_ONENAND_BOOT is not set +# CONFIG_QSPI_BOOT is not set +# CONFIG_SATA_BOOT is not set +# CONFIG_SD_BOOT is not set +# CONFIG_SD_BOOT_QSPI is not set +# CONFIG_SPI_BOOT is not set + +# +# Autoboot options +# +CONFIG_AUTOBOOT=y +CONFIG_BOOTDELAY=2 +# CONFIG_AUTOBOOT_KEYED is not set +# CONFIG_AUTOBOOT_USE_MENUKEY is not set +# CONFIG_BOOT_RETRY is not set + +# +# Image support +# +# CONFIG_IMAGE_PRE_LOAD is not set + +# +# Devicetree fixup +# +# CONFIG_OF_ENV_SETUP is not set +# CONFIG_OF_BOARD_SETUP is not set +# CONFIG_OF_SYSTEM_SETUP is not set +# CONFIG_OF_STDOUT_VIA_ALIAS is not set +# CONFIG_FDT_FIXUP_PARTITIONS is not set +# CONFIG_FDT_SIMPLEFB is not set +CONFIG_ARCH_FIXUP_FDT_MEMORY=y +# CONFIG_USE_BOOTARGS is not set +# CONFIG_BOOTARGS_SUBST is not set +CONFIG_USE_BOOTCOMMAND=y +CONFIG_BOOTCOMMAND="bootflow scan -l; if bootflow menu; then cls; bootflow boot; fi" +CONFIG_USE_PREBOOT=y +CONFIG_PREBOOT="usb start" +CONFIG_PREBOOT_DEFINED=y +CONFIG_DEFAULT_FDT_FILE="" +# CONFIG_SAVE_PREV_BL_FDT_ADDR is not set +# CONFIG_SAVE_PREV_BL_INITRAMFS_START_ADDR is not set + +# +# Configuration editor +# +# CONFIG_CEDIT is not set + +# +# Console +# +CONFIG_MENU=y +# CONFIG_CONSOLE_RECORD is not set +CONFIG_SYS_CBSIZE=1024 +CONFIG_SYS_PBSIZE=1044 +# CONFIG_DISABLE_CONSOLE is not set +CONFIG_LOGLEVEL=4 +# CONFIG_SILENT_CONSOLE is not set +# CONFIG_SPL_SILENT_CONSOLE is not set +# CONFIG_TPL_SILENT_CONSOLE is not set +CONFIG_PRE_CONSOLE_BUFFER=y +CONFIG_CONSOLE_FLUSH_SUPPORT=y +# CONFIG_CONSOLE_FLUSH_ON_NEWLINE is not set +CONFIG_CONSOLE_MUX=y +CONFIG_SYS_CONSOLE_IS_IN_ENV=y +# CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE is not set +# CONFIG_SYS_CONSOLE_ENV_OVERWRITE is not set +# CONFIG_SYS_CONSOLE_INFO_QUIET is not set +CONFIG_SYS_STDIO_DEREGISTER=y +# CONFIG_SPL_SYS_STDIO_DEREGISTER is not set +CONFIG_SYS_DEVICE_NULLDEV=y + +# +# Logging +# +# CONFIG_LOG is not set + +# +# Init options +# +# CONFIG_BOARD_TYPES is not set +# CONFIG_DISPLAY_CPUINFO is not set +# CONFIG_DISPLAY_BOARDINFO is not set +# CONFIG_DISPLAY_BOARDINFO_LATE is not set + +# +# Start-up hooks +# +CONFIG_CYCLIC=y +# CONFIG_SPL_CYCLIC is not set +CONFIG_CYCLIC_MAX_CPU_TIME_US=5000 +CONFIG_EVENT=y +CONFIG_EVENT_DYNAMIC=y +# CONFIG_EVENT_DEBUG is not set +# CONFIG_ARCH_MISC_INIT is not set +# CONFIG_BOARD_EARLY_INIT_F is not set +# CONFIG_BOARD_EARLY_INIT_R is not set +# CONFIG_BOARD_POSTCLK_INIT is not set +CONFIG_BOARD_LATE_INIT=y +# CONFIG_CLOCKS is not set +# CONFIG_HWCONFIG is not set +CONFIG_LAST_STAGE_INIT=y +# CONFIG_MISC_INIT_R is not set +# CONFIG_SYS_MALLOC_BOOTPARAMS is not set +# CONFIG_ID_EEPROM is not set +CONFIG_PCI_INIT_R=y +# CONFIG_RESET_PHY_R is not set + +# +# Security support +# +CONFIG_HASH=y +# CONFIG_HASH_CRC8 is not set +# CONFIG_STACKPROTECTOR is not set +# CONFIG_BOARD_RNG_SEED is not set + +# +# Update support +# +CONFIG_UPDATE_COMMON=y +CONFIG_UPDATE_TFTP_CNT_MAX=0 +CONFIG_UPDATE_TFTP_MSEC_MAX=100 +CONFIG_UPDATE_LOAD_ADDR=0x100000 +# CONFIG_UPDATE_FIT is not set +# CONFIG_ANDROID_AB is not set + +# +# Blob list +# +CONFIG_BLOBLIST=y +# CONFIG_BLOBLIST_FIXED is not set +CONFIG_BLOBLIST_ALLOC=y +CONFIG_BLOBLIST_SIZE=0x400 +CONFIG_IMAGE_SIGN_INFO=y +CONFIG_CMDLINE=y +CONFIG_HUSH_PARSER=y + +# +# Hush flavor to use +# +CONFIG_HUSH_OLD_PARSER=y +# CONFIG_HUSH_MODERN_PARSER is not set +CONFIG_CMDLINE_EDITING=y +# CONFIG_CMDLINE_PS_SUPPORT is not set +CONFIG_AUTO_COMPLETE=y +CONFIG_SYS_LONGHELP=y +CONFIG_SYS_PROMPT="=> " +CONFIG_SYS_PROMPT_HUSH_PS2="> " +CONFIG_SYS_MAXARGS=64 +CONFIG_SYS_XTRACE=y + +# +# Commands +# + +# +# Info commands +# +CONFIG_CMD_BDI=y +# CONFIG_CMD_BDINFO_EXTRA is not set +# CONFIG_CMD_CONFIG is not set +CONFIG_CMD_CONSOLE=y +# CONFIG_CMD_UFETCH is not set +# CONFIG_CMD_HISTORY is not set +# CONFIG_CMD_LICENSE is not set +# CONFIG_CMD_PMC is not set +CONFIG_CMD_SMBIOS=y + +# +# Boot commands +# +CONFIG_CMD_BOOTD=y +CONFIG_CMD_BOOTM=y +CONFIG_CMD_BOOTDEV=y +CONFIG_CMD_BOOTFLOW=y +CONFIG_CMD_BOOTFLOW_FULL=y +CONFIG_CMD_BOOTFLOW_BOOTDELAY=30 +CONFIG_CMD_BOOTMETH=y +CONFIG_CMD_BOOTSTD=y +CONFIG_BOOTM_EFI=y +CONFIG_BOOTM_ELF=y +CONFIG_CMD_BOOTZ=y +CONFIG_CMD_BOOTI=y +CONFIG_BOOTM_LINUX=y +CONFIG_BOOTM_NETBSD=y +# CONFIG_BOOTM_OPENRTOS is not set +# CONFIG_BOOTM_OSE is not set +CONFIG_BOOTM_PLAN9=y +CONFIG_BOOTM_RTEMS=y +# CONFIG_CMD_UPL is not set +CONFIG_CMD_VBE=y +CONFIG_BOOTM_VXWORKS=y +CONFIG_CMD_BOOTEFI=y +CONFIG_CMD_BOOTEFI_BINARY=y +CONFIG_CMD_BOOTEFI_BOOTMGR=y +CONFIG_CMD_BOOTEFI_HELLO=y +CONFIG_CMD_BOOTEFI_SELFTEST=y +# CONFIG_CMD_BOOTMENU is not set +# CONFIG_CMD_ADTIMG is not set +CONFIG_CMD_ELF=y +CONFIG_CMD_ELF_BOOTVX=y +# CONFIG_CMD_ELF_FDT_SETUP is not set +CONFIG_CMD_FDT=y +CONFIG_CMD_GO=y +CONFIG_CMD_RUN=y +CONFIG_CMD_IMI=y +# CONFIG_CMD_IMLS is not set +CONFIG_CMD_XIMG=y +CONFIG_SYS_XIMG_LEN=0x800000 + +# +# Environment commands +# +# CONFIG_CMD_ASKENV is not set +CONFIG_CMD_EXPORTENV=y +CONFIG_CMD_IMPORTENV=y +CONFIG_CMD_EDITENV=y +# CONFIG_CMD_GREPENV is not set +CONFIG_CMD_SAVEENV=y +# CONFIG_CMD_ERASEENV is not set +CONFIG_CMD_ENV_EXISTS=y +# CONFIG_CMD_ENV_CALLBACK is not set +# CONFIG_CMD_ENV_FLAGS is not set +CONFIG_CMD_NVEDIT_EFI=y +# CONFIG_CMD_NVEDIT_INDIRECT is not set +# CONFIG_CMD_NVEDIT_INFO is not set +# CONFIG_CMD_NVEDIT_LOAD is not set +# CONFIG_CMD_NVEDIT_SELECT is not set + +# +# Memory commands +# +# CONFIG_CMD_BINOP is not set +CONFIG_CMD_BLOBLIST=y +CONFIG_CMD_CRC32=y +# CONFIG_CRC32_VERIFY is not set +# CONFIG_LOOPW is not set +# CONFIG_CMD_MD5SUM is not set +# CONFIG_CMD_MEMINFO is not set +CONFIG_CMD_MEMORY=y +# CONFIG_CMD_MEM_SEARCH is not set +# CONFIG_CMD_MX_CYCLIC is not set +CONFIG_CMD_RANDOM=y +# CONFIG_CMD_MEMTEST is not set +# CONFIG_CMD_SHA1SUM is not set +# CONFIG_CMD_STRINGS is not set + +# +# Compression commands +# +CONFIG_CMD_LZMADEC=y +CONFIG_CMD_UNLZ4=y +CONFIG_CMD_UNZIP=y +# CONFIG_CMD_ZIP is not set + +# +# Device access commands +# +# CONFIG_CMD_ARMFLASH is not set +# CONFIG_CMD_BCB is not set +# CONFIG_CMD_BIND is not set +# CONFIG_CMD_DEMO is not set +CONFIG_CMD_DFU=y +CONFIG_CMD_DM=y +CONFIG_CMD_FLASH=y +# CONFIG_CMD_FUSE is not set +# CONFIG_CMD_GPIO is not set +# CONFIG_CMD_GPT is not set +# CONFIG_CMD_IDE is not set +# CONFIG_CMD_IO is not set +# CONFIG_CMD_IOTRACE is not set +# CONFIG_CMD_I2C is not set +CONFIG_CMD_LOADB=y +# CONFIG_CMD_LOADM is not set +CONFIG_CMD_LOADS=y +# CONFIG_LOADS_ECHO is not set +# CONFIG_CMD_SAVES is not set +# CONFIG_SYS_LOADS_BAUD_CHANGE is not set +CONFIG_CMD_LOADXY_TIMEOUT=90 +# CONFIG_CMD_LSBLK is not set +# CONFIG_CMD_MBR is not set +# CONFIG_CMD_CLONE is not set +CONFIG_CMD_MTD=y +# CONFIG_CMD_MTD_OTP is not set +CONFIG_CMD_NVME=y +# CONFIG_CMD_ONENAND is not set +CONFIG_CMD_PART=y +CONFIG_CMD_PCI=y +# CONFIG_CMD_PCI_MPS is not set +CONFIG_CMD_POWEROFF=y +# CONFIG_CMD_READ is not set +# CONFIG_CMD_SATA is not set +CONFIG_CMD_SCSI=y +# CONFIG_CMD_SDRAM is not set +CONFIG_CMD_USB=y +# CONFIG_CMD_RKMTD is not set +CONFIG_CMD_VIRTIO=y +# CONFIG_CMD_WRITE is not set + +# +# Shell scripting commands +# +# CONFIG_CMD_CAT is not set +CONFIG_CMD_ECHO=y +CONFIG_CMD_ITEST=y +CONFIG_CMD_SOURCE=y +CONFIG_CMD_SETEXPR=y +# CONFIG_CMD_SETEXPR_FMT is not set +# CONFIG_CMD_XXD is not set +CONFIG_CMD_NET=y +CONFIG_CMD_BOOTP=y +# CONFIG_BOOTP_MAY_FAIL is not set +CONFIG_BOOTP_BOOTPATH=y +# CONFIG_BOOTP_VENDOREX is not set +# CONFIG_BOOTP_BOOTFILESIZE is not set +CONFIG_BOOTP_DNS=y +# CONFIG_BOOTP_DNS2 is not set +CONFIG_BOOTP_GATEWAY=y +CONFIG_BOOTP_HOSTNAME=y +# CONFIG_BOOTP_PREFER_SERVERIP is not set +CONFIG_BOOTP_SUBNETMASK=y +# CONFIG_BOOTP_NISDOMAIN is not set +# CONFIG_BOOTP_NTPSERVER is not set +# CONFIG_CMD_PCAP is not set +CONFIG_BOOTP_PXE=y +CONFIG_BOOTP_PXE_CLIENTARCH=0x16 +# CONFIG_BOOTP_PXE_DHCP_OPTION is not set +CONFIG_BOOTP_VCI_STRING="U-Boot.armv8" +# CONFIG_CMD_TFTPPUT is not set +# CONFIG_CMD_TFTPSRV is not set +CONFIG_NET_TFTP_VARS=y +# CONFIG_CMD_RARP is not set +# CONFIG_CMD_NFS is not set +# CONFIG_SYS_DISABLE_AUTOLOAD is not set +# CONFIG_CMD_CDP is not set +# CONFIG_CMD_SNTP is not set +# CONFIG_CMD_LINK_LOCAL is not set +# CONFIG_CMD_ETHSW is not set +# CONFIG_CMD_WOL is not set +CONFIG_CMD_DHCP=y +CONFIG_CMD_DNS=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y +CONFIG_CMD_TFTPBOOT=y +CONFIG_CMD_WGET=y +CONFIG_CMD_PXE=y + +# +# Misc commands +# +# CONFIG_CMD_2048 is not set +# CONFIG_CMD_BMP is not set +# CONFIG_CMD_BSP is not set +CONFIG_CMD_BLOCK_CACHE=y +CONFIG_CMD_BLKMAP=y +# CONFIG_CMD_CACHE is not set +# CONFIG_CMD_CONITRACE is not set +CONFIG_CMD_CLS=y +CONFIG_CMD_EFIDEBUG=y +CONFIG_CMD_EFICONFIG=y +# CONFIG_CMD_EXCEPTION is not set +# CONFIG_CMD_INI is not set +CONFIG_CMD_DATE=y +# CONFIG_CMD_RTC is not set +# CONFIG_CMD_TIME is not set +# CONFIG_CMD_GETTIME is not set +# CONFIG_CMD_PAUSE is not set +# CONFIG_CMD_RNG is not set +# CONFIG_CMD_KASLRSEED is not set +CONFIG_CMD_SLEEP=y +# CONFIG_CMD_TIMER is not set +# CONFIG_CMD_SYSBOOT is not set +CONFIG_CMD_QFW=y +# CONFIG_CMD_PSTORE is not set +# CONFIG_CMD_TERMINAL is not set +# CONFIG_CMD_UUID is not set +CONFIG_CMD_VIDCONSOLE=y +# CONFIG_CMD_SELECT_FONT is not set + +# +# TI specific command line interface +# + +# +# Power commands +# + +# +# Security commands +# +# CONFIG_CMD_AES is not set +# CONFIG_CMD_BLOB is not set +# CONFIG_CMD_HASH is not set +# CONFIG_CMD_HVC is not set +# CONFIG_CMD_SMC is not set +CONFIG_CMD_TPM_V1=y +CONFIG_CMD_TPM_V2=y +CONFIG_CMD_TPM=y +# CONFIG_CMD_TPM_TEST is not set + +# +# Firmware commands +# + +# +# Filesystem commands +# +# CONFIG_CMD_BTRFS is not set +# CONFIG_CMD_EROFS is not set +CONFIG_CMD_EXT2=y +CONFIG_CMD_EXT4=y +# CONFIG_CMD_EXT4_WRITE is not set +CONFIG_CMD_FAT=y +# CONFIG_CMD_SQUASHFS is not set +CONFIG_CMD_FS_GENERIC=y +# CONFIG_CMD_FS_UUID is not set +# CONFIG_CMD_JFFS2 is not set +CONFIG_CMD_MTDPARTS=y +# CONFIG_CMD_MTDPARTS_SPREAD is not set +# CONFIG_CMD_MTDPARTS_SHOW_NET_SIZES is not set +# CONFIG_CMD_ZFS is not set + +# +# Debug commands +# +CONFIG_CMD_CYCLIC=y +# CONFIG_CMD_DIAG is not set +# CONFIG_CMD_EVENT is not set +# CONFIG_CMD_LOG is not set +# CONFIG_CMD_UBI is not set + +# +# Partition Types +# +CONFIG_PARTITIONS=y +# CONFIG_MAC_PARTITION is not set +# CONFIG_TEGRA_PARTITION is not set +CONFIG_DOS_PARTITION=y +CONFIG_ISO_PARTITION=y +# CONFIG_AMIGA_PARTITION is not set +CONFIG_EFI_PARTITION=y +CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128 +CONFIG_EFI_PARTITION_ENTRIES_OFF=0 +CONFIG_PARTITION_UUIDS=y +# CONFIG_PARTITION_TYPE_GUID is not set +CONFIG_SUPPORT_OF_CONTROL=y + +# +# Device Tree Control +# +CONFIG_OF_CONTROL=y +CONFIG_OF_REAL=y +# CONFIG_OF_LIVE is not set +# CONFIG_OF_UPSTREAM is not set +CONFIG_OF_SEPARATE=y +# CONFIG_OF_EMBED is not set +# CONFIG_OF_INITIAL_DTB_READONLY is not set +CONFIG_OF_BOARD=y +CONFIG_OF_HAS_PRIOR_STAGE=y +CONFIG_OF_OMIT_DTB=y +CONFIG_DEVICE_TREE_INCLUDES="" +CONFIG_OF_LIST="qemu-arm64" +CONFIG_OF_OVERLAY_LIST="" +# CONFIG_MULTI_DTB_FIT is not set +CONFIG_OF_TAG_MIGRATE=y +# CONFIG_OF_DTB_PROPS_REMOVE is not set + +# +# Environment +# +CONFIG_ENV_SUPPORT=y +CONFIG_ENV_CALLBACK_LIST_STATIC="" +CONFIG_SAVEENV=y +# CONFIG_ENV_OVERWRITE is not set +# CONFIG_OVERWRITE_ETHADDR_ONCE is not set +CONFIG_ENV_MIN_ENTRIES=64 +CONFIG_ENV_MAX_ENTRIES=512 +CONFIG_ENV_IS_DEFAULT=y +CONFIG_ENV_IS_NOWHERE=y +# CONFIG_ENV_IS_IN_EEPROM is not set +# CONFIG_ENV_IS_IN_FAT is not set +# CONFIG_ENV_IS_IN_EXT4 is not set +# CONFIG_ENV_IS_IN_FLASH is not set +# CONFIG_ENV_IS_IN_NAND is not set +# CONFIG_ENV_IS_IN_NVRAM is not set +# CONFIG_ENV_IS_IN_REMOTE is not set +# CONFIG_SYS_REDUNDAND_ENVIRONMENT is not set +# CONFIG_SYS_RELOC_GD_ENV_ADDR is not set +# CONFIG_USE_DEFAULT_ENV_FILE is not set +# CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG is not set +# CONFIG_ENV_IMPORT_FDT is not set +# CONFIG_ENV_APPEND is not set +# CONFIG_ENV_WRITEABLE_LIST is not set +# CONFIG_ENV_ACCESS_IGNORE_FORCE is not set +# CONFIG_USE_BOOTFILE is not set +# CONFIG_USE_ETHPRIME is not set +# CONFIG_USE_HOSTNAME is not set +# CONFIG_VERSION_VARIABLE is not set + +# +# Networking +# +# CONFIG_NO_NET is not set +CONFIG_NET=y +# CONFIG_NET_LWIP is not set +CONFIG_ARP_TIMEOUT=5000 +CONFIG_NET_RETRY_COUNT=5 +# CONFIG_PROT_UDP is not set +# CONFIG_BOOTP_SEND_HOSTNAME is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_IP_DEFRAG is not set +# CONFIG_SYS_FAULT_ECHO_LINK_DOWN is not set +# CONFIG_TFTP_PORT is not set +CONFIG_TFTP_WINDOWSIZE=1 +# CONFIG_TFTP_TSIZE is not set +# CONFIG_SERVERIP_FROM_PROXYDHCP is not set +CONFIG_SERVERIP_FROM_PROXYDHCP_DELAY_MS=100 +# CONFIG_KEEP_SERVERADDR is not set +# CONFIG_UDP_CHECKSUM is not set +# CONFIG_BOOTP_SERVERIP is not set +CONFIG_BOOTP_MAX_ROOT_PATH_LEN=64 +# CONFIG_USE_GATEWAYIP is not set +# CONFIG_USE_IPADDR is not set +# CONFIG_USE_NETMASK is not set +# CONFIG_USE_ROOTPATH is not set +# CONFIG_USE_SERVERIP is not set +CONFIG_PROT_TCP=y +# CONFIG_PROT_TCP_SACK is not set +# CONFIG_IPV6 is not set +CONFIG_BOOTDEV_ETH=y +# CONFIG_NET_RANDOM_ETHADDR is not set +CONFIG_WGET=y +CONFIG_TFTP_BLOCKSIZE=1468 +CONFIG_SYS_RX_ETH_BUFFER=4 + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_DM=y +# CONFIG_DM_WARN is not set +# CONFIG_DM_DEBUG is not set +# CONFIG_DM_STATS is not set +CONFIG_DM_DEVICE_REMOVE=y +CONFIG_DM_EVENT=y +CONFIG_DM_STDIO=y +CONFIG_DM_SEQ_ALIAS=y +# CONFIG_DM_DMA is not set +# CONFIG_REGMAP is not set +# CONFIG_DEVRES is not set +CONFIG_SIMPLE_BUS=y +# CONFIG_SIMPLE_BUS_CORRECT_RANGE is not set +CONFIG_OF_TRANSLATE=y +# CONFIG_TRANSLATION_OFFSET is not set +CONFIG_DM_DEV_READ_INLINE=y +# CONFIG_OFNODE_MULTI_TREE is not set +# CONFIG_BOUNCE_BUFFER is not set +# CONFIG_ADC is not set +# CONFIG_SATA is not set +CONFIG_LIBATA=y +CONFIG_SCSI_AHCI=y + +# +# SATA/SCSI device support +# +CONFIG_AHCI_PCI=y +# CONFIG_DWC_AHCI is not set +# CONFIG_DWC_AHSATA is not set +# CONFIG_MTK_AHCI is not set +# CONFIG_AHCI_GENERIC is not set +# CONFIG_SUNXI_AHCI is not set +# CONFIG_AXI is not set + +# +# Bus devices +# +CONFIG_BLK=y +CONFIG_BLOCK_CACHE=y +CONFIG_BLKMAP=y +# CONFIG_EFI_MEDIA is not set +# CONFIG_IDE is not set +# CONFIG_LBA48 is not set +# CONFIG_SYS_64BIT_LBA is not set +# CONFIG_RKMTD is not set +# CONFIG_BOOTCOUNT_LIMIT is not set + +# +# Button Support +# +# CONFIG_BUTTON is not set + +# +# Cache Controller drivers +# +# CONFIG_CACHE is not set +# CONFIG_L2X0_CACHE is not set +# CONFIG_ANDES_L2_CACHE is not set +# CONFIG_NCORE_CACHE is not set +# CONFIG_SIFIVE_CCACHE is not set +# CONFIG_SIFIVE_PL2 is not set + +# +# Clock +# +# CONFIG_CLK is not set +# CONFIG_CLK_CCF is not set +# CONFIG_COMMON_CLK_ADI_SHARED is not set +# CONFIG_CLK_RCAR is not set +# CONFIG_CLK_RCAR_CPG_LIB is not set +# CONFIG_CPU is not set + +# +# Hardware crypto devices +# +# CONFIG_DM_HASH is not set +# CONFIG_FSL_CAAM is not set +CONFIG_CAAM_64BIT=y +# CONFIG_SYS_FSL_SEC_BE is not set +# CONFIG_SYS_FSL_SEC_LE is not set +# CONFIG_FSL_DCP_RNG is not set +# CONFIG_NPCM_AES is not set +# CONFIG_NPCM_SHA is not set +# CONFIG_DDR_SPD is not set +# CONFIG_IMX_SNPS_DDR_PHY is not set + +# +# Demo for driver model +# +# CONFIG_DM_DEMO is not set + +# +# DFU support +# +CONFIG_DFU=y +CONFIG_DFU_OVER_TFTP=y +CONFIG_DFU_WRITE_ALT=y +CONFIG_DFU_TFTP=y +# CONFIG_DFU_TIMEOUT is not set +CONFIG_DFU_MTD=y +CONFIG_DFU_RAM=y +# CONFIG_DFU_VIRT is not set +# CONFIG_DFU_SCSI is not set +CONFIG_SET_DFU_ALT_INFO=y +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x800000 +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000 +CONFIG_DFU_NAME_MAX_SIZE=32 + +# +# DMA Support +# +# CONFIG_DMA is not set +# CONFIG_DMA_LPC32XX is not set +# CONFIG_TI_EDMA3 is not set +# CONFIG_DMA_LEGACY is not set + +# +# Extcon Support +# +# CONFIG_EXTCON is not set + +# +# Fastboot support +# +# CONFIG_UDP_FUNCTION_FASTBOOT is not set +# CONFIG_TCP_FUNCTION_FASTBOOT is not set +CONFIG_FIRMWARE=y +CONFIG_ARM_PSCI_FW=y +# CONFIG_ZYNQMP_FIRMWARE is not set +# CONFIG_ARM_SMCCC_FEATURES is not set +# CONFIG_ARM_FFA_TRANSPORT is not set +# CONFIG_SCMI_FIRMWARE is not set +# CONFIG_DM_FUZZING_ENGINE is not set + +# +# FPGA support +# +# CONFIG_FPGA_ALTERA is not set +# CONFIG_FPGA_SOCFPGA is not set +# CONFIG_FPGA_LATTICE is not set +# CONFIG_FPGA_XILINX is not set +# CONFIG_DM_FPGA is not set +# CONFIG_FWU_MDATA is not set +CONFIG_GPIO=y +# CONFIG_AT91_GPIO is not set +# CONFIG_ASPEED_GPIO is not set +# CONFIG_ASPEED_SGPIO is not set +# CONFIG_ASPEED_G7_GPIO is not set +# CONFIG_DA8XX_GPIO is not set +# CONFIG_INTEL_BROADWELL_GPIO is not set +# CONFIG_IMX_RGPIO2P is not set +# CONFIG_IPROC_GPIO is not set +# CONFIG_KIRKWOOD_GPIO is not set +# CONFIG_LPC32XX_GPIO is not set +# CONFIG_MCP230XX_GPIO is not set +# CONFIG_MXC_GPIO is not set +# CONFIG_MXS_GPIO is not set +# CONFIG_CMD_PCA953X is not set +# CONFIG_TCA642X is not set +# CONFIG_VYBRID_GPIO is not set +# CONFIG_PCA953X is not set + +# +# Hardware Spinlock Support +# +# CONFIG_DM_HWSPINLOCK is not set +CONFIG_I2C=y +# CONFIG_DM_I2C is not set +# CONFIG_SYS_I2C_LEGACY is not set +# CONFIG_SYS_I2C_FSL is not set +# CONFIG_SYS_I2C_DW is not set +# CONFIG_SYS_I2C_IMX_LPI2C is not set +# CONFIG_SYS_I2C_MTK is not set +# CONFIG_SYS_I2C_MICROCHIP is not set +# CONFIG_SYS_I2C_MXC is not set +# CONFIG_SYS_I2C_NPCM is not set +# CONFIG_SYS_I2C_SOFT is not set +# CONFIG_SYS_I2C_MV is not set +# CONFIG_SYS_I2C_MVTWSI is not set +CONFIG_INPUT=y +CONFIG_DM_KEYBOARD=y +# CONFIG_BUTTON_KEYBOARD is not set +# CONFIG_CROS_EC_KEYB is not set +# CONFIG_I8042_KEYB is not set +# CONFIG_TEGRA_KEYBOARD is not set +# CONFIG_TWL4030_INPUT is not set + +# +# IOMMU device drivers +# +# CONFIG_IOMMU is not set + +# +# LED Support +# +# CONFIG_LED is not set +# CONFIG_LED_BOOT is not set +# CONFIG_LED_ACTIVITY is not set +# CONFIG_LED_STATUS is not set + +# +# Mailbox Controller Support +# +# CONFIG_DM_MAILBOX is not set + +# +# Memory Controller drivers +# +# CONFIG_MEMORY is not set +# CONFIG_ATMEL_EBI is not set +# CONFIG_MFD_ATMEL_SMC is not set + +# +# Multifunction device drivers +# +# CONFIG_MISC is not set +# CONFIG_NVMEM is not set +# CONFIG_SPL_NVMEM is not set +# CONFIG_SMSC_LPC47M is not set +# CONFIG_SMSC_SIO1007 is not set +# CONFIG_CROS_EC is not set +# CONFIG_DS4510 is not set +# CONFIG_FSL_SEC_MON is not set +# CONFIG_IRQ is not set +# CONFIG_NUVOTON_NCT6102D is not set +# CONFIG_PWRSEQ is not set +# CONFIG_PCA9551_LED is not set +# CONFIG_TEST_DRV is not set +# CONFIG_USB_HUB_USB251XB is not set +# CONFIG_TWL4030_LED is not set +# CONFIG_WINBOND_W83627 is not set +CONFIG_QFW=y +CONFIG_QFW_MMIO=y +# CONFIG_FS_LOADER is not set + +# +# MMC Host controller Support +# +# CONFIG_MMC is not set +# CONFIG_MMC_BROKEN_CD is not set +# CONFIG_FSL_ESDHC is not set +# CONFIG_FSL_ESDHC_IMX is not set + +# +# MTD Support +# +CONFIG_MTD_PARTITIONS=y +CONFIG_MTD=y +CONFIG_DM_MTD=y +CONFIG_MTD_NOR_FLASH=y +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_BLOCK is not set +CONFIG_SYS_MTDPARTS_RUNTIME=y +CONFIG_FLASH_CFI_DRIVER=y +CONFIG_SYS_FLASH_CFI_WIDTH_8BIT=y +# CONFIG_SYS_FLASH_CFI_WIDTH_16BIT is not set +# CONFIG_SYS_FLASH_CFI_WIDTH_32BIT is not set +# CONFIG_SYS_FLASH_CFI_WIDTH_64BIT is not set +CONFIG_SYS_FLASH_CFI_WIDTH=0x1 +CONFIG_FLASH_SHOW_PROGRESS=0 +CONFIG_CFI_FLASH=y +CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS=y +# CONFIG_SYS_CFI_FLASH_STATUS_POLL is not set +CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y +# CONFIG_SYS_FLASH_EMPTY_INFO is not set +# CONFIG_FLASH_SPANSION_S29WS_N is not set +CONFIG_FLASH_CFI_MTD=y +# CONFIG_SYS_FLASH_PROTECTION is not set +CONFIG_SYS_FLASH_CFI=y +# CONFIG_SYS_FLASH_QUIET_TEST is not set +# CONFIG_SYS_FLASH_CHECKSUM is not set +# CONFIG_FLASH_VERIFY is not set +# CONFIG_ALTERA_QSPI is not set +CONFIG_SYS_MAX_FLASH_SECT=256 +# CONFIG_SAMSUNG_ONENAND is not set +CONFIG_USE_SYS_MAX_FLASH_BANKS=y +CONFIG_SYS_MAX_FLASH_BANKS=2 +CONFIG_SYS_MAX_FLASH_BANKS_DETECT=y +# CONFIG_MTD_RAW_NAND is not set + +# +# SPI Flash Support +# +# CONFIG_SPI_FLASH is not set + +# +# UBI support +# +# CONFIG_UBI_SILENCE_MSG is not set +# CONFIG_MTD_UBI is not set +# CONFIG_NVMXIP is not set +# CONFIG_NVMXIP_QSPI is not set + +# +# Multiplexer drivers +# +# CONFIG_MULTIPLEXER is not set +# CONFIG_BITBANGMII is not set +# CONFIG_MV88E6352_SWITCH is not set +# CONFIG_PHYLIB is not set +# CONFIG_FSL_MEMAC is not set +CONFIG_PHY_RESET_DELAY=0 +# CONFIG_FSL_PFE is not set +CONFIG_ETH=y +CONFIG_DM_ETH=y +# CONFIG_DM_ETH_PHY is not set +CONFIG_NETDEVICES=y +# CONFIG_PHY_GIGE is not set +# CONFIG_ALTERA_TSE is not set +# CONFIG_BCM_SF2_ETH is not set +# CONFIG_BCMGENET is not set +# CONFIG_BNXT_ETH is not set +# CONFIG_CALXEDA_XGMAC is not set +# CONFIG_DWC_ETH_XGMAC is not set +# CONFIG_DRIVER_DM9000 is not set +# CONFIG_DWC_ETH_QOS is not set +CONFIG_E1000=y +# CONFIG_E1000_NO_NVM is not set +# CONFIG_E1000_SPI_GENERIC is not set +# CONFIG_E1000_SPI is not set +# CONFIG_CMD_E1000 is not set +# CONFIG_EEPRO100 is not set +# CONFIG_ETH_DESIGNWARE is not set +# CONFIG_ETH_DESIGNWARE_MESON8B is not set +# CONFIG_ETHOC is not set +# CONFIG_FMAN_ENET is not set +# CONFIG_FTMAC100 is not set +# CONFIG_FTGMAC100 is not set +# CONFIG_MCFFEC is not set +# CONFIG_KS8851_MLL is not set +# CONFIG_LITEETH is not set +# CONFIG_MACB is not set +# CONFIG_NET_NPCM750 is not set +# CONFIG_PCH_GBE is not set +# CONFIG_RGMII is not set +# CONFIG_MII is not set +# CONFIG_RMII is not set +# CONFIG_PCNET is not set +# CONFIG_QE_UEC is not set +# CONFIG_RTL8139 is not set +# CONFIG_RTL8169 is not set +# CONFIG_SMC911X is not set +# CONFIG_SUN7I_GMAC is not set +# CONFIG_SUN4I_EMAC is not set +# CONFIG_SUN8I_EMAC is not set +# CONFIG_SH_ETHER is not set +# CONFIG_DRIVER_TI_CPSW is not set +# CONFIG_DRIVER_TI_EMAC is not set +# CONFIG_DRIVER_TI_KEYSTONE_NET is not set +# CONFIG_TULIP is not set +# CONFIG_XILINX_AXIEMAC is not set +# CONFIG_VSC7385_ENET is not set +# CONFIG_XILINX_EMACLITE is not set +# CONFIG_ZYNQ_GEM is not set +# CONFIG_SYS_DPAA_QBMAN is not set +# CONFIG_TSEC_ENET is not set +# CONFIG_MEDIATEK_ETH is not set +# CONFIG_HIFEMAC_ETH is not set +# CONFIG_HIGMACV300_ETH is not set +CONFIG_NVME=y +# CONFIG_NVME_APPLE is not set +CONFIG_NVME_PCI=y +# CONFIG_DM_PCI_COMPAT is not set +CONFIG_PCI_PNP=y +# CONFIG_PCI_REGION_MULTI_ENTRY is not set +# CONFIG_PCI_CONFIG_HOST_BRIDGE is not set +# CONFIG_PCI_SRIOV is not set +CONFIG_PCI_ENHANCED_ALLOCATION=y +# CONFIG_PCI_ARID is not set +CONFIG_PCIE_ECAM_GENERIC=y +# CONFIG_PCIE_ECAM_SYNQUACER is not set +# CONFIG_PCI_FTPCI100 is not set +# CONFIG_PCIE_CDNS_TI is not set +# CONFIG_PCI_PHYTIUM is not set +# CONFIG_PCIE_FSL is not set +# CONFIG_PCI_MPC85XX is not set +# CONFIG_PCI_XILINX is not set +# CONFIG_PCIE_LAYERSCAPE_RC is not set +# CONFIG_PCIE_LAYERSCAPE_EP is not set +# CONFIG_PCIE_LAYERSCAPE_GEN4 is not set +# CONFIG_PCIE_INTEL_FPGA is not set +# CONFIG_PCIE_IPROC is not set +# CONFIG_PCI_KEYSTONE is not set +# CONFIG_PCIE_STARFIVE_JH7110 is not set + +# +# PCI Endpoint +# +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_X86_PCH7 is not set +# CONFIG_X86_PCH9 is not set + +# +# PHY Subsystem +# +# CONFIG_PHY is not set +# CONFIG_MIPI_DPHY_HELPERS is not set + +# +# Rockchip PHY driver +# +# CONFIG_MVEBU_COMPHY_SUPPORT is not set + +# +# Pin controllers +# +# CONFIG_PINCTRL is not set +# CONFIG_PINCTRL_TEGRA is not set +CONFIG_POWER=y +# CONFIG_POWER_LEGACY is not set +# CONFIG_ACPI_PMC is not set + +# +# Power Domain Support +# +# CONFIG_POWER_DOMAIN is not set +# CONFIG_DM_PMIC is not set +# CONFIG_PMIC_TPS65217 is not set +# CONFIG_POWER_TPS65218 is not set +# CONFIG_POWER_TPS62362 is not set +# CONFIG_DM_REGULATOR is not set +# CONFIG_TPS6586X_POWER is not set +# CONFIG_POWER_MT6323 is not set +# CONFIG_DM_PWM is not set +# CONFIG_PWM_IMX is not set +# CONFIG_PWM_SANDBOX is not set +# CONFIG_U_QE is not set +# CONFIG_RAM is not set + +# +# Reboot Mode Support +# +# CONFIG_DM_REBOOT_MODE is not set + +# +# Remote Processor drivers +# +CONFIG_REMOTEPROC_MAX_FW_SIZE=0x10000 + +# +# Reset Controller Support +# +# CONFIG_RESET_SCMI is not set +CONFIG_DM_RNG=y +# CONFIG_RNG_MSM is not set +# CONFIG_RNG_NPCM is not set +# CONFIG_RNG_IPROC200 is not set +# CONFIG_RNG_SMCCC_TRNG is not set +# CONFIG_RNG_ARM_RNDR is not set +CONFIG_TPM_RNG=y +# CONFIG_RNG_EXYNOS is not set + +# +# Real Time Clock +# +CONFIG_DM_RTC=y +# CONFIG_RTC_ENABLE_32KHZ_OUTPUT is not set +# CONFIG_RTC_PCF2127 is not set +# CONFIG_RTC_DS1307 is not set +# CONFIG_RTC_DS1337 is not set +# CONFIG_RTC_DS1338 is not set +# CONFIG_RTC_DS3231 is not set +# CONFIG_RTC_EMULATION is not set +# CONFIG_RTC_GOLDFISH is not set +# CONFIG_RTC_ISL1208 is not set +# CONFIG_RTC_PCF8563 is not set +# CONFIG_RTC_PT7C4338 is not set +# CONFIG_RTC_RV3028 is not set +# CONFIG_RTC_RV3029 is not set +# CONFIG_RTC_RV8803 is not set +# CONFIG_RTC_RX8010SJ is not set +# CONFIG_RTC_RX8025 is not set +CONFIG_RTC_PL031=y +# CONFIG_RTC_MV is not set +# CONFIG_RTC_S35392A is not set +# CONFIG_RTC_MC146818 is not set +# CONFIG_RTC_M41T62 is not set +# CONFIG_RTC_STM32 is not set +# CONFIG_RTC_ABX80X is not set +CONFIG_SCSI=y +CONFIG_SERIAL=y +CONFIG_BAUDRATE=115200 +# CONFIG_DEFAULT_ENV_IS_RW is not set +CONFIG_REQUIRE_SERIAL_CONSOLE=y +# CONFIG_SPECIFY_CONSOLE_INDEX is not set +CONFIG_SERIAL_PRESENT=y +CONFIG_DM_SERIAL=y +# CONFIG_SERIAL_RX_BUFFER is not set +# CONFIG_SERIAL_PUTS is not set +# CONFIG_SERIAL_SEARCH_ALL is not set +# CONFIG_SERIAL_PROBE_ALL is not set +# CONFIG_VPL_DM_SERIAL is not set +# CONFIG_DEBUG_UART_PL010 is not set +CONFIG_DEBUG_UART_PL011=y +CONFIG_DEBUG_UART_SHIFT=2 +# CONFIG_DEBUG_UART_ANNOUNCE is not set +# CONFIG_DEBUG_UART_SKIP_INIT is not set +# CONFIG_ALTERA_JTAG_UART is not set +# CONFIG_ALTERA_UART is not set +# CONFIG_ARC_SERIAL is not set +# CONFIG_ARM_DCC is not set +# CONFIG_ATMEL_USART is not set +# CONFIG_BCM6345_SERIAL is not set +# CONFIG_COREBOOT_SERIAL is not set +# CONFIG_CORTINA_UART is not set +# CONFIG_FSL_LINFLEXUART is not set +# CONFIG_FSL_LPUART is not set +# CONFIG_MVEBU_A3700_UART is not set +# CONFIG_MCFUART is not set +# CONFIG_NULLDEV_SERIAL is not set +# CONFIG_SYS_NS16550 is not set +CONFIG_PL01X_SERIAL=y +# CONFIG_ROCKCHIP_SERIAL is not set +# CONFIG_SEMIHOSTING_SERIAL is not set +# CONFIG_XILINX_UARTLITE is not set +# CONFIG_MSM_SERIAL is not set +# CONFIG_MSM_GENI_SERIAL is not set +# CONFIG_MXS_AUART_SERIAL is not set +# CONFIG_OMAP_SERIAL is not set +# CONFIG_HTIF_CONSOLE is not set +# CONFIG_SIFIVE_SERIAL is not set +# CONFIG_ZYNQ_SERIAL is not set +# CONFIG_MTK_SERIAL is not set +# CONFIG_MT7620_SERIAL is not set +# CONFIG_NPCM_SERIAL is not set +# CONFIG_SM is not set +# CONFIG_MESON_SM is not set +# CONFIG_SMEM is not set + +# +# Sound support +# +# CONFIG_SOUND is not set +# CONFIG_SOUND_MAX98357A is not set + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_DEVICE is not set +# CONFIG_SOC_QCOM is not set +# CONFIG_SOC_SAMSUNG is not set +# CONFIG_SOC_TI is not set +# CONFIG_SPI is not set + +# +# SPMI support +# +# CONFIG_SPMI is not set +CONFIG_SYSINFO=y +# CONFIG_SYSINFO_EXTRA is not set +# CONFIG_SYSINFO_GAZERBEAM is not set +# CONFIG_SYSINFO_SANDBOX is not set +CONFIG_SYSINFO_SMBIOS=y +# CONFIG_SYSINFO_GPIO is not set + +# +# System reset device drivers +# +CONFIG_SYSRESET=y +CONFIG_SYSRESET_CMD_RESET=y +CONFIG_SYSRESET_CMD_POWEROFF=y +# CONFIG_SYSRESET_CV1800B is not set +CONFIG_SYSRESET_PSCI=y +# CONFIG_SYSRESET_SYSCON is not set +# CONFIG_SYSRESET_WATCHDOG is not set +# CONFIG_SYSRESET_RESETCTL is not set +# CONFIG_SYSRESET_MPC83XX is not set +# CONFIG_TEE is not set +# CONFIG_DM_THERMAL is not set + +# +# Timer Support +# +# CONFIG_TIMER is not set + +# +# TPM support +# +CONFIG_TPM_V1=y +# CONFIG_TPM_ATMEL_TWI is not set +# CONFIG_TPM_AUTH_SESSIONS is not set +# CONFIG_TPM_FLUSH_RESOURCES is not set +# CONFIG_TPM_LOAD_KEY_BY_SHA1 is not set +# CONFIG_TPM_LIST_RESOURCES is not set +CONFIG_TPM_V2=y +CONFIG_TPM2_MMIO=y +CONFIG_TPM2_EVENT_LOG_SIZE=65536 +CONFIG_USB=y +CONFIG_DM_USB=y +# CONFIG_DM_USB_GADGET is not set + +# +# USB Host Controller Drivers +# +CONFIG_USB_HOST=y +CONFIG_USB_XHCI_HCD=y +# CONFIG_USB_XHCI_DWC3 is not set +# CONFIG_USB_XHCI_DWC3_OF_SIMPLE is not set +# CONFIG_USB_XHCI_GENERIC is not set +CONFIG_USB_XHCI_PCI=y +# CONFIG_USB_XHCI_FSL is not set +# CONFIG_USB_XHCI_BRCM is not set +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_MSM is not set +CONFIG_USB_EHCI_PCI=y +# CONFIG_USB_EHCI_ZYNQ is not set +# CONFIG_USB_EHCI_GENERIC is not set +# CONFIG_USB_EHCI_FSL is not set +# CONFIG_USB_OHCI_HCD is not set +# CONFIG_USB_UHCI_HCD is not set +# CONFIG_USB_DWC2 is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_ISP1760 is not set +# CONFIG_USB_CDNS3 is not set +# CONFIG_USB_DWC3 is not set + +# +# Legacy MUSB Support +# +# CONFIG_USB_MUSB_HCD is not set +# CONFIG_USB_MUSB_UDC is not set + +# +# MUSB Controller Driver +# +# CONFIG_USB_MUSB_HOST is not set +# CONFIG_USB_MUSB_PIO_ONLY is not set + +# +# USB Phy +# +# CONFIG_TWL4030_USB is not set +# CONFIG_ROCKCHIP_USB2_PHY is not set +# CONFIG_TYPEC_TCPM is not set + +# +# ULPI drivers +# + +# +# USB peripherals +# +CONFIG_USB_STORAGE=y +CONFIG_USB_KEYBOARD=y +# CONFIG_USB_ONBOARD_HUB is not set +CONFIG_USB_HUB_DEBOUNCE_TIMEOUT=1000 +CONFIG_USB_KEYBOARD_FN_KEYS=y +CONFIG_SYS_USB_EVENT_POLL=y +# CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE is not set +# CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP is not set +# CONFIG_USB_HOST_ETHER is not set +# CONFIG_USB_GADGET is not set +# CONFIG_SPL_USB_GADGET is not set + +# +# UFS Host Controller Support +# +# CONFIG_UFS is not set +# CONFIG_TI_J721E_UFS is not set + +# +# Graphics support +# +CONFIG_VIDEO=y +# CONFIG_VIDEO_FONT_4X6 is not set +CONFIG_VIDEO_FONT_8X16=y +# CONFIG_VIDEO_FONT_SUN12X22 is not set +# CONFIG_VIDEO_FONT_16X32 is not set +CONFIG_VIDEO_LOGO=y +CONFIG_BACKLIGHT=y +CONFIG_VIDEO_PCI_DEFAULT_FB_SIZE=0x800000 +# CONFIG_VIDEO_COPY is not set +# CONFIG_VIDEO_DAMAGE is not set +# CONFIG_BACKLIGHT_GPIO is not set +CONFIG_VIDEO_BPP8=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_VIDEO_ANSI=y +# CONFIG_VIDEO_MIPI_DSI is not set +CONFIG_CONSOLE_NORMAL=y +# CONFIG_CONSOLE_ROTATION is not set +# CONFIG_CONSOLE_TRUETYPE is not set +CONFIG_SYS_WHITE_ON_BLACK=y +# CONFIG_NO_FB_CLEAR is not set +CONFIG_VIDEO_SYNC_MS=100 +CONFIG_VIDEO_SYNC_CYCLIC_MS=10 +CONFIG_PANEL=y +# CONFIG_PANEL_HX8238D is not set + +# +# TrueType Fonts +# +# CONFIG_VIDCONSOLE_AS_LCD is not set +CONFIG_VIDEO_BOCHS=y +CONFIG_VIDEO_BOCHS_SIZE_X=1280 +CONFIG_VIDEO_BOCHS_SIZE_Y=1024 +# CONFIG_VIDEO_VESA is not set +# CONFIG_VIDEO_LCD_ANX9804 is not set +# CONFIG_ATMEL_LCD_BGR555 is not set +# CONFIG_VIDEO_BCM2835 is not set +# CONFIG_VIDEO_LCD_ENDEAVORU is not set +# CONFIG_VIDEO_LCD_HIMAX_HX8394 is not set +# CONFIG_VIDEO_LCD_ORISETECH_OTM8009A is not set +# CONFIG_VIDEO_LCD_LG_LD070WX3 is not set +# CONFIG_VIDEO_LCD_RAYDIUM_RM68200 is not set +# CONFIG_VIDEO_LCD_RENESAS_R61307 is not set +# CONFIG_VIDEO_LCD_RENESAS_R69328 is not set +# CONFIG_VIDEO_LCD_SAMSUNG_LTL106HL02 is not set +# CONFIG_VIDEO_LCD_SHARP_LQ101R1SX01 is not set +# CONFIG_VIDEO_LCD_SSD2828 is not set +# CONFIG_VIDEO_LCD_TDO_TL070WSH30 is not set +# CONFIG_VIDEO_LCD_HITACHI_TX18D42VM is not set +# CONFIG_VIDEO_MESON is not set +# CONFIG_VIDEO_MVEBU is not set +# CONFIG_I2C_EDID is not set +# CONFIG_DISPLAY is not set +# CONFIG_ATMEL_HLCD is not set +# CONFIG_BACKLIGHT_LM3533 is not set +# CONFIG_AM335X_LCD is not set +# CONFIG_VIDEO_EXYNOS is not set +# CONFIG_VIDEO_ROCKCHIP is not set +# CONFIG_VIDEO_ARM_MALIDP is not set +# CONFIG_VIDEO_STM32 is not set +# CONFIG_VIDEO_TIDSS is not set +# CONFIG_VIDEO_TEGRA124 is not set +# CONFIG_VIDEO_BRIDGE is not set +# CONFIG_VIDEO_TEGRA20 is not set +# CONFIG_TEGRA_BACKLIGHT_PWM is not set +# CONFIG_VIDEO_MXS is not set +CONFIG_CONSOLE_SCROLL_LINES=1 +# CONFIG_VIDEO_SIMPLE is not set +# CONFIG_VIDEO_DT_SIMPLEFB is not set +# CONFIG_VIDEO_MCDE_SIMPLE is not set +# CONFIG_OSD is not set +# CONFIG_VIDEO_REMOVE is not set +# CONFIG_SPLASH_SCREEN is not set +# CONFIG_BMP is not set +CONFIG_VIDEO_LOGO_MAX_SIZE=0x100000 +CONFIG_VIDEO_BMP_RLE8=y +# CONFIG_BMP_16BPP is not set +# CONFIG_BMP_24BPP is not set +# CONFIG_BMP_32BPP is not set + +# +# VirtIO Drivers +# +CONFIG_VIRTIO=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_PCI_LEGACY=y +CONFIG_VIRTIO_NET=y +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_RNG=y + +# +# 1-Wire support +# +# CONFIG_W1 is not set + +# +# 1-wire EEPROM support +# +# CONFIG_W1_EEPROM is not set + +# +# Watchdog Timer Support +# +# CONFIG_WATCHDOG is not set +# CONFIG_IMX_WATCHDOG is not set +# CONFIG_ULP_WATCHDOG is not set +# CONFIG_WDT is not set +# CONFIG_PHYS_TO_BUS is not set + +# +# File systems +# +# CONFIG_FS_BTRFS is not set +# CONFIG_FS_CBFS is not set +CONFIG_FS_EXT4=y +# CONFIG_EXT4_WRITE is not set +CONFIG_FS_FAT=y +CONFIG_FAT_WRITE=y +CONFIG_FS_FAT_MAX_CLUSTSIZE=65536 +# CONFIG_FS_JFFS2 is not set +# CONFIG_UBIFS_SILENCE_MSG is not set +# CONFIG_UBIFS_SILENCE_DEBUG_DUMP is not set +# CONFIG_FS_CRAMFS is not set +# CONFIG_FS_SQUASHFS is not set +# CONFIG_FS_EROFS is not set + +# +# Library routines +# +# CONFIG_ADDR_MAP is not set +# CONFIG_SYS_TIMER_COUNTS_DOWN is not set +# CONFIG_PHYSMEM is not set +# CONFIG_BCH is not set +# CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set +CONFIG_CHARSET=y +# CONFIG_DYNAMIC_CRC_TABLE is not set +CONFIG_LIB_UUID=y +# CONFIG_RANDOM_UUID is not set +CONFIG_SEMIHOSTING=y +CONFIG_SEMIHOSTING_FALLBACK=y +CONFIG_PRINTF=y +CONFIG_SPRINTF=y +CONFIG_STRTO=y +CONFIG_SYS_HZ=1000 +# CONFIG_PANIC_HANG is not set +CONFIG_REGEX=y +CONFIG_LIB_RAND=y +# CONFIG_LIB_HW_RAND is not set +CONFIG_SUPPORT_ACPI=y +# CONFIG_ACPI is not set +# CONFIG_BITREVERSE is not set +# CONFIG_TRACE is not set +# CONFIG_CIRCBUF is not set +# CONFIG_CMD_DHRYSTONE is not set + +# +# Alternative crypto libraries +# +# CONFIG_LEGACY_HASHING_AND_CRYPTO is not set +CONFIG_MBEDTLS_LIB=y +CONFIG_MBEDTLS_LIB_CRYPTO=y +CONFIG_SHA1_MBEDTLS=y +CONFIG_SHA256_MBEDTLS=y +CONFIG_SHA256_SMALLER=y +CONFIG_SHA512_MBEDTLS=y +CONFIG_SHA512_SMALLER=y +CONFIG_SHA384_MBEDTLS=y +CONFIG_MD5_MBEDTLS=y +# CONFIG_HKDF_MBEDTLS is not set +CONFIG_MBEDTLS_LIB_X509=y + +# +# Security support +# +# CONFIG_AES is not set +# CONFIG_ECDSA is not set +CONFIG_RSA=y +CONFIG_RSA_VERIFY=y +# CONFIG_RSA_VERIFY_WITH_PKEY is not set +CONFIG_RSA_SOFTWARE_EXP=y +# CONFIG_ASYMMETRIC_KEY_TYPE is not set +CONFIG_TPM=y +CONFIG_TPM_PCR_ALLOCATE=y + +# +# Android Verified Boot +# + +# +# Hashing Support +# +# CONFIG_BLAKE2 is not set +CONFIG_SHA1=y +CONFIG_SHA256=y +CONFIG_SHA512=y +CONFIG_SHA384=y +# CONFIG_SHA_HW_ACCEL is not set +CONFIG_MD5=y +CONFIG_CRC8=y +CONFIG_CRC16=y +CONFIG_CRC32=y + +# +# Compression Support +# +CONFIG_LZ4=y +CONFIG_LZMA=y +# CONFIG_LZO is not set +CONFIG_GZIP=y +# CONFIG_ZLIB_UNCOMPRESS is not set +# CONFIG_BZIP2 is not set +CONFIG_ZLIB=y +# CONFIG_ZSTD is not set +CONFIG_VPL_LZMA=y +# CONFIG_SPL_GZIP is not set +# CONFIG_TPL_GZIP is not set +# CONFIG_ERRNO_STR is not set +CONFIG_HEXDUMP=y +# CONFIG_GETOPT is not set +CONFIG_OF_LIBFDT=y +CONFIG_OF_LIBFDT_ASSUME_MASK=0x0 +CONFIG_SYS_FDT_PAD=0x3000 + +# +# System tables +# +# CONFIG_BLOBLIST_TABLES is not set +CONFIG_GENERATE_SMBIOS_TABLE=y +CONFIG_GENERATE_SMBIOS_TABLE_VERBOSE=y +# CONFIG_LIB_RATIONAL is not set +CONFIG_SMBIOS=y +CONFIG_SMBIOS_PARSER=y +# CONFIG_OPTEE_LIB is not set +# CONFIG_OPTEE_IMAGE is not set +# CONFIG_BOOTM_OPTEE is not set +# CONFIG_TEST_FDTDEC is not set +CONFIG_LIB_DATE=y +CONFIG_LIB_ELF=y +CONFIG_LMB=y +# CONFIG_LMB_ARCH_MEM_MAP is not set +# CONFIG_PHANDLE_CHECK_SEQ is not set + +# +# Testing +# +# CONFIG_UNIT_TEST is not set +# CONFIG_POST is not set + +# +# Tools options +# +CONFIG_MKIMAGE_DTC_PATH="dtc" +CONFIG_TOOLS_CRC16=y +CONFIG_TOOLS_CRC32=y +CONFIG_TOOLS_LIBCRYPTO=y +CONFIG_TOOLS_KWBIMAGE=y +CONFIG_TOOLS_FIT=y +CONFIG_TOOLS_FIT_FULL_CHECK=y +CONFIG_TOOLS_FIT_PRINT=y +CONFIG_TOOLS_FIT_RSASSA_PSS=y +CONFIG_TOOLS_FIT_SIGNATURE=y +CONFIG_TOOLS_FIT_SIGNATURE_MAX_SIZE=0x10000000 +CONFIG_TOOLS_FIT_VERBOSE=y +CONFIG_TOOLS_MD5=y +CONFIG_TOOLS_OF_LIBFDT=y +CONFIG_TOOLS_SHA1=y +CONFIG_TOOLS_SHA256=y +CONFIG_TOOLS_SHA384=y +CONFIG_TOOLS_SHA512=y +CONFIG_TOOLS_MKEFICAPSULE=y +# CONFIG_FSPI_CONF_HEADER is not set +# CONFIG_TOOLS_MKFWUMDATA is not set diff --git a/config/module/u-boot/qemu_arm64_12mb/target.cfg b/config/module/u-boot/qemu_arm64_12mb/target.cfg new file mode 100644 index 00000000..50080091 --- /dev/null +++ b/config/module/u-boot/qemu_arm64_12mb/target.cfg @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +tree="default" +xarch="aarch64-elf arm-eabi" diff --git a/config/module/u-boot/x86/nuke.list b/config/module/u-boot/x86/nuke.list new file mode 100644 index 00000000..f3a3fcc3 --- /dev/null +++ b/config/module/u-boot/x86/nuke.list @@ -0,0 +1 @@ +test/lib/strlcat.c diff --git a/config/module/u-boot/x86/patches/0001-x86-serial-ns16550-Allow-the-UART-to-be-silently-dis.patch b/config/module/u-boot/x86/patches/0001-x86-serial-ns16550-Allow-the-UART-to-be-silently-dis.patch new file mode 100644 index 00000000..e3969d03 --- /dev/null +++ b/config/module/u-boot/x86/patches/0001-x86-serial-ns16550-Allow-the-UART-to-be-silently-dis.patch @@ -0,0 +1,116 @@ +From 13263cb35e8fc82f15aad2c1091f2b05342fbe0f Mon Sep 17 00:00:00 2001 +From: Simon Glass <sjg@chromium.org> +Date: Wed, 1 Nov 2023 12:04:42 -0600 +Subject: [PATCH 1/1] x86: serial: ns16550: Allow the UART to be silently + disabled + +U-Boot normally requires a UART. When booting from coreboot it is +sometimes just not available, e.g. when no sysinfo or DBG2 information +is provided. + +In this case we need to continue running, since the display can be used. +Add a flag to disable serial for this case. + +This allows U-Boot to start up and operation from the display, instead +of hanging on start-up. + +This could perhaps be hidden behind a Kconfig option to reduce code +size. + +Signed-off-by: Simon Glass <sjg@chromium.org> +--- + drivers/serial/ns16550.c | 17 +++++++++++++++-- + drivers/serial/serial_coreboot.c | 1 + + include/ns16550.h | 1 + + 3 files changed, 17 insertions(+), 2 deletions(-) + +diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c +index 6fcb5b523a..891124fc62 100644 +--- a/drivers/serial/ns16550.c ++++ b/drivers/serial/ns16550.c +@@ -384,6 +384,8 @@ static int ns16550_serial_putc(struct udevice *dev, const char ch) + { + struct ns16550 *const com_port = dev_get_priv(dev); + ++ if (com_port->plat->flags & NS16550_FLAG_DISABLE) ++ return 0; + if (!(serial_in(&com_port->lsr) & UART_LSR_THRE)) + return -EAGAIN; + serial_out(ch, &com_port->thr); +@@ -404,6 +406,9 @@ static int ns16550_serial_pending(struct udevice *dev, bool input) + { + struct ns16550 *const com_port = dev_get_priv(dev); + ++ if (com_port->plat->flags & NS16550_FLAG_DISABLE) ++ return 0; ++ + if (input) + return (serial_in(&com_port->lsr) & UART_LSR_DR) ? 1 : 0; + else +@@ -414,6 +419,9 @@ static int ns16550_serial_getc(struct udevice *dev) + { + struct ns16550 *const com_port = dev_get_priv(dev); + ++ if (com_port->plat->flags & NS16550_FLAG_DISABLE) ++ return 0; ++ + if (!(serial_in(&com_port->lsr) & UART_LSR_DR)) + return -EAGAIN; + +@@ -428,7 +436,8 @@ static int ns16550_serial_setbrg(struct udevice *dev, int baudrate) + + clock_divisor = ns16550_calc_divisor(com_port, plat->clock, baudrate); + +- ns16550_setbrg(com_port, clock_divisor); ++ if (!(plat->flags & NS16550_FLAG_DISABLE)) ++ ns16550_setbrg(com_port, clock_divisor); + + return 0; + } +@@ -441,6 +450,9 @@ static int ns16550_serial_setconfig(struct udevice *dev, uint serial_config) + uint bits = SERIAL_GET_BITS(serial_config); + uint stop = SERIAL_GET_STOP(serial_config); + ++ if (com_port->plat->flags & NS16550_FLAG_DISABLE) ++ return 0; ++ + /* + * only parity config is implemented, check if other serial settings + * are the default one. +@@ -533,7 +545,8 @@ int ns16550_serial_probe(struct udevice *dev) + reset_deassert_bulk(&reset_bulk); + + com_port->plat = dev_get_plat(dev); +- ns16550_init(com_port, -1); ++ if (!(plat->flags & NS16550_FLAG_DISABLE)) ++ ns16550_init(com_port, -1); + + return 0; + } +diff --git a/drivers/serial/serial_coreboot.c b/drivers/serial/serial_coreboot.c +index b1f69f6998..a885809abd 100644 +--- a/drivers/serial/serial_coreboot.c ++++ b/drivers/serial/serial_coreboot.c +@@ -119,6 +119,7 @@ static int coreboot_of_to_plat(struct udevice *dev) + * there is no UART, which may panic. So stay silent and + * pray that the video console will work. + */ ++ plat->flags |= NS16550_FLAG_DISABLE; + log_debug("Cannot detect UART\n"); + } + +diff --git a/include/ns16550.h b/include/ns16550.h +index 7f48130008..3c4f3e7539 100644 +--- a/include/ns16550.h ++++ b/include/ns16550.h +@@ -52,6 +52,7 @@ enum ns16550_flags { + NS16550_FLAG_IO = 1 << 0, /* Use I/O access (else mem-mapped) */ + NS16550_FLAG_ENDIAN = 1 << 1, /* Use out_le/be_32() */ + NS16550_FLAG_BE = 1 << 2, /* Big-endian access (else little) */ ++ NS16550_FLAG_DISABLE = BIT(3), /* No output or input */ + }; + + /** +-- +2.39.5 + diff --git a/config/module/u-boot/x86/patches/0002-x86-Avoid-clearing-the-VESA-display.patch b/config/module/u-boot/x86/patches/0002-x86-Avoid-clearing-the-VESA-display.patch new file mode 100644 index 00000000..7fb75772 --- /dev/null +++ b/config/module/u-boot/x86/patches/0002-x86-Avoid-clearing-the-VESA-display.patch @@ -0,0 +1,34 @@ +From a6b9e69a21970951252419b5b5fa9c04fabbf1a4 Mon Sep 17 00:00:00 2001 +From: Simon Glass <sjg@chromium.org> +Date: Tue, 12 Nov 2024 06:59:02 -0700 +Subject: [PATCH 1/2] x86: Avoid clearing the VESA display + +U-Boot clears the display when it starts up, so there is no need to ask +the VESA driver to do this. Fix this and add a comment explaining the +flags. + +Signed-off-by: Simon Glass <sjg@chromium.org> +--- + arch/x86/lib/bios.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/arch/x86/lib/bios.c b/arch/x86/lib/bios.c +index 03f7360032..374f4f20b8 100644 +--- a/arch/x86/lib/bios.c ++++ b/arch/x86/lib/bios.c +@@ -228,7 +228,11 @@ static void vbe_set_graphics(int vesa_mode, struct vesa_state *mode_info) + { + unsigned char *framebuffer; + +- mode_info->video_mode = (1 << 14) | vesa_mode; ++ /* ++ * bit 14 is linear-framebuffer mode ++ * bit 15 means don't clear the display ++ */ ++ mode_info->video_mode = (1 << 14) | (1 << 15) | vesa_mode; + vbe_get_mode_info(mode_info); + + framebuffer = (unsigned char *)(ulong)mode_info->vesa.phys_base_ptr; +-- +2.39.5 + diff --git a/config/module/u-boot/x86/patches/0003-x86-Avoid-clearing-the-VESA-display.patch b/config/module/u-boot/x86/patches/0003-x86-Avoid-clearing-the-VESA-display.patch new file mode 100644 index 00000000..bb33d6fd --- /dev/null +++ b/config/module/u-boot/x86/patches/0003-x86-Avoid-clearing-the-VESA-display.patch @@ -0,0 +1,29 @@ +From d098961a91c8f410f50ae31e60300c0ef1f67075 Mon Sep 17 00:00:00 2001 +From: Simon Glass <sjg@chromium.org> +Date: Tue, 12 Nov 2024 06:59:06 -0700 +Subject: [PATCH 2/2] x86: Drop the message about features missing in 64-bit + +This functions normally and has done for a while, so drop this scary +message. + +Signed-off-by: Simon Glass <sjg@chromium.org> +--- + arch/x86/lib/spl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/x86/lib/spl.c b/arch/x86/lib/spl.c +index f761fbc8bc..656f59ede0 100644 +--- a/arch/x86/lib/spl.c ++++ b/arch/x86/lib/spl.c +@@ -283,7 +283,7 @@ void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image) + { + int ret; + +- printf("Jumping to 64-bit U-Boot: Note many features are missing\n"); ++ log_debug("Jumping to 64-bit U-Boot\n"); + ret = cpu_jump_to_64bit_uboot(spl_image->entry_point); + debug("ret=%d\n", ret); + hang(); +-- +2.39.5 + diff --git a/config/module/u-boot/x86/patches/0004-Support-auto-boot-timeout-delay-bootflow-menu.patch b/config/module/u-boot/x86/patches/0004-Support-auto-boot-timeout-delay-bootflow-menu.patch new file mode 100644 index 00000000..ffc7b581 --- /dev/null +++ b/config/module/u-boot/x86/patches/0004-Support-auto-boot-timeout-delay-bootflow-menu.patch @@ -0,0 +1,302 @@ +From d9371422ac74ea73d1620f01300a7136a7649754 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Wed, 4 Dec 2024 06:52:39 +0000 +Subject: [PATCH 1/1] Support auto-boot timeout delay bootflow menu + +The bootflow menu cannot currently auto-boot a selected entry, +which means that the user must press enter to boot their system. +This can be a problem on headless setups; for example, it is not +currently feasible to set up a headless server with U-Boot, when +using it to boot via UEFI on a coreboot setup. + +This patch adds the following build-time configuration option: + +CONFIG_CMD_BOOTFLOW_BOOTDELAY + +This creates a timeout delay in the given number of seconds. +If an arrow key is press to navigate the menu, the timer is +disabled and the user must then press enter to boot the selected +option. When this happens, the timeout display is replaced by +the old message indicating that the user should press enter. + +The default boot delay is 30 seconds, and the timeout is enabled +by default. Setting it to zero will restore the old behaviour, +whereby no timeout is provided and the user must press enter. + +If a negative integer is provided, the timer will default to +zero. The timer value is further filtered by modulus of 100, +so that the maximum number of seconds allowed is 99 seconds. + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + boot/bootflow_menu.c | 117 +++++++++++++++++++++++++++++++++++-- + cmd/Kconfig | 12 ++++ + doc/usage/cmd/bootflow.rst | 11 ++++ + include/bootflow.h | 10 +++- + 4 files changed, 143 insertions(+), 7 deletions(-) + +diff --git a/boot/bootflow_menu.c b/boot/bootflow_menu.c +index 9d0dc352f9..172139b187 100644 +--- a/boot/bootflow_menu.c ++++ b/boot/bootflow_menu.c +@@ -30,7 +30,7 @@ struct menu_priv { + int num_bootflows; + }; + +-int bootflow_menu_new(struct expo **expp) ++int bootflow_menu_new(struct expo **expp, const char *prompt) + { + struct udevice *last_bootdev; + struct scene_obj_menu *menu; +@@ -54,7 +54,7 @@ int bootflow_menu_new(struct expo **expp) + return log_msg_ret("scn", ret); + + ret |= scene_txt_str(scn, "prompt", OBJ_PROMPT, STR_PROMPT, +- "UP and DOWN to choose, ENTER to select", NULL); ++ prompt, NULL); + + ret = scene_menu(scn, "main", OBJ_MENU, &menu); + ret |= scene_obj_set_pos(scn, OBJ_MENU, MARGIN_LEFT, 100); +@@ -138,6 +138,29 @@ int bootflow_menu_new(struct expo **expp) + return 0; + } + ++int bootflow_menu_show_countdown(struct expo *exp, char *prompt, ++ char bootflow_delay) ++{ ++ char *i; ++ ++ if (prompt == NULL) ++ return 0; ++ if (strlen(prompt) < 2) ++ return 0; ++ ++ i = prompt + strlen(prompt) - 2; ++ ++ if (bootflow_delay >= 10) { ++ *(i) = 48 + (bootflow_delay / 10); ++ *(i + 1) = 48 + (bootflow_delay % 10); ++ } else { ++ *(i) = 48 + bootflow_delay; ++ *(i + 1) = ' '; ++ } ++ ++ return expo_render(exp); ++} ++ + int bootflow_menu_apply_theme(struct expo *exp, ofnode node) + { + struct menu_priv *priv = exp->priv; +@@ -184,14 +207,62 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + struct expo *exp; + uint sel_id; + bool done; +- int ret; ++ int i, ret; ++ ++ /* Auto-boot countdown */ ++ char bootflow_delay_secs, *prompt; ++ int bootflow_time, bootflow_delay; ++ bool skip_render_once = false; ++ bool bootflow_countdown = false; ++ ++ /* TODO: perhaps set based on defconfig? */ ++ /* WARNING: These two strings must be of the same length. */ ++ char promptChoice[] = "UP and DOWN to choose, ENTER to select"; ++ char promptTimeout[] = "UP and DOWN to choose. Auto-boot in "; ++/* ++ // Uncomment if the strings become configurable (defconfig): ++ // (to prevent buffer overflows) ++ char promptDefault[] = "UP and DOWN to choose, ENTER to select"; ++ if (promptTimeout = NULL) ++ promptTimeout = promptDefault; ++ if (promptChoice = NULL) ++ promptChoice = promptDefault; ++ if (strlen(promptChoice) < 2) ++ promptChoice = promptDefault; ++ if (strlen(promptTimeout) < 2) ++ promptTimeout = promptDefault; ++ if (strlen(promptChoice) != strlen(promptTimeout)) ++ promptChoice = promptTimeout; ++*/ ++ prompt = promptChoice; ++ ++ bootflow_delay_secs = 15; /* TODO: set based on defconfig. */ ++ ++#if defined(CONFIG_CMD_BOOTFLOW_BOOTDELAY) ++ /* If set to zero, the auto-boot timeout is disabled. */ ++ bootflow_delay_secs = CONFIG_CMD_BOOTFLOW_BOOTDELAY; ++#else ++ bootflow_delay_secs = 30; ++#endif ++ ++ if (bootflow_delay_secs < 0) ++ bootflow_delay_secs = 0; /* disable countdown if negative */ ++ bootflow_delay_secs %= 100; /* No higher than 99 seconds */ ++ ++ if (bootflow_delay_secs > 0) { ++ bootflow_countdown = true; /* enable auto-boot countdown */ ++ prompt = promptTimeout; ++ bootflow_time = 0; /* Time elapsed in milliseconds */ ++ bootflow_delay = ++ (int)bootflow_delay_secs * 1000; /* milliseconds */ ++ } + + cli_ch_init(cch); + + sel_bflow = NULL; + *bflowp = NULL; + +- ret = bootflow_menu_new(&exp); ++ ret = bootflow_menu_new(&exp, prompt); + if (ret) + return log_msg_ret("exp", ret); + +@@ -216,12 +287,20 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + if (text_mode) + expo_set_text_mode(exp, text_mode); + ++ if (bootflow_countdown) { ++ ret = bootflow_menu_show_countdown(exp, prompt, ++ bootflow_delay_secs); ++ skip_render_once = true; /* Don't print menu twice on start */ ++ } + done = false; + do { + struct expo_action act; + int ichar, key; + +- ret = expo_render(exp); ++ if (skip_render_once) ++ skip_render_once = false; ++ else ++ ret = expo_render(exp); + if (ret) + break; + +@@ -231,7 +310,23 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + schedule(); + mdelay(2); + ichar = cli_ch_process(cch, -ETIMEDOUT); ++ if (bootflow_countdown) { ++ bootflow_delay -= 2; ++ bootflow_time += 2; ++ if (bootflow_delay <= 0) ++ ichar='\n'; ++ if (bootflow_time < 1000) ++ continue; ++ bootflow_time = 0; ++ --bootflow_delay_secs; ++ ret = bootflow_menu_show_countdown(exp, ++ prompt, bootflow_delay_secs); ++ if (ret) ++ break; ++ } + } ++ if (ret) ++ break; + if (!ichar) { + ichar = getchar(); + ichar = cli_ch_process(cch, ichar); +@@ -265,6 +360,17 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + break; + } + } ++ if (bootflow_countdown) { ++ /* A key press interrupted the auto-boot timeout */ ++ bootflow_countdown = false; ++ if (strlen(prompt) == strlen(promptChoice)) { ++ /* "Auto-boot in" becomes "Press ENTER" */ ++ (void) memcpy(prompt, promptChoice, ++ strlen(promptChoice)); ++ ret = expo_render(exp); ++ skip_render_once = true; ++ } ++ } + } while (!done); + + if (ret) +@@ -272,7 +378,6 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + + if (sel_id) { + struct bootflow *bflow; +- int i; + + for (ret = bootflow_first_glob(&bflow), i = 0; !ret && i < 36; + ret = bootflow_next_glob(&bflow), i++) { +diff --git a/cmd/Kconfig b/cmd/Kconfig +index 978f44eda4..0303869625 100644 +--- a/cmd/Kconfig ++++ b/cmd/Kconfig +@@ -288,6 +288,7 @@ config CMD_BOOTDEV + config CMD_BOOTFLOW + bool "bootflow" + depends on BOOTSTD ++ select CMD_BOOTFLOW_BOOTDELAY + default y + help + Support scanning for bootflows available with the bootdevs. The +@@ -303,6 +304,17 @@ config CMD_BOOTFLOW_FULL + + This command is not necessary for bootstd to work. + ++config CMD_BOOTFLOW_BOOTDELAY ++ int "bootflow - delay in seconds before booting the first menu option" ++ depends on CMD_BOOTFLOW ++ default 30 ++ help ++ On the bootflow menu, wait for the defined number of seconds before ++ automatically booting. Unless interrupted, this will auto-boot the ++ first option in the generated list of boot options. ++ ++ Set this to zero if you wish to disable the auto-boot timeout. ++ + config CMD_BOOTMETH + bool "bootmeth" + depends on BOOTSTD +diff --git a/doc/usage/cmd/bootflow.rst b/doc/usage/cmd/bootflow.rst +index 5d41fe37a7..728f294274 100644 +--- a/doc/usage/cmd/bootflow.rst ++++ b/doc/usage/cmd/bootflow.rst +@@ -32,6 +32,17 @@ Note that `CONFIG_BOOTSTD_FULL` (which enables `CONFIG_CMD_BOOTFLOW_FULL) must + be enabled to obtain full functionality with this command. Otherwise, it only + supports `bootflow scan` which scans and boots the first available bootflow. + ++The `CONFIG_CMD_BOOTFLOW_BOOTDELAY` option can be set, defining (in seconds) the ++amount of time that U-Boot will wait; after this time passes, it will ++automatically boot the first item when generating a bootflow menu. If the value ++is set to zero, the timeout is disabled and the user must press enter; if it's ++negative, the timeout is disabled, and the maximum number of seconds is 99 ++seconds. If a value higher than 100 is provided, the value is changed to a ++modulus of 100 (remainder of the value divided by 100). ++ ++If the `CONFIG_BOOTFLOW_BOOTFLOW` option is undefined, the timeout will default ++to 30 seconds. ++ + bootflow scan + ~~~~~~~~~~~~~ + +diff --git a/include/bootflow.h b/include/bootflow.h +index 4d2fc7b69b..9f4245caa7 100644 +--- a/include/bootflow.h ++++ b/include/bootflow.h +@@ -452,7 +452,15 @@ int bootflow_iter_check_system(const struct bootflow_iter *iter); + * @expp: Returns the expo created + * Returns 0 on success, -ve on error + */ +-int bootflow_menu_new(struct expo **expp); ++int bootflow_menu_new(struct expo **expp, const char *prompt); ++ ++/** ++ * bootflow_menu_show_countdown() - Show countdown timer for auto-boot ++ * ++ * Returns the value of expo_render() ++ */ ++int bootflow_menu_show_countdown(struct expo *exp, char *prompt, ++ char bootflow_delay); + + /** + * bootflow_menu_apply_theme() - Apply a theme to a bootmenu +-- +2.39.5 + diff --git a/config/module/u-boot/x86/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch b/config/module/u-boot/x86/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch new file mode 100644 index 00000000..ec033187 --- /dev/null +++ b/config/module/u-boot/x86/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch @@ -0,0 +1,213 @@ +From 4ff0f509aa28eb8e85f1c0c9929c63996c646bb8 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Wed, 4 Dec 2024 18:20:19 +0000 +Subject: [PATCH 1/1] Libreboot branding/version on the bootflow menu + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + boot/bootflow_menu.c | 2 +- + drivers/video/u_boot_logo.bmp | Bin 6932 -> 27350 bytes + 2 files changed, 1 insertion(+), 1 deletion(-) + +diff --git a/boot/bootflow_menu.c b/boot/bootflow_menu.c +index 84831915a2..8e26ec2aef 100644 +--- a/boot/bootflow_menu.c ++++ b/boot/bootflow_menu.c +@@ -59,7 +59,7 @@ int bootflow_menu_new(struct expo **expp, const char *prompt) + ret = scene_menu(scn, "main", OBJ_MENU, &menu); + ret |= scene_obj_set_pos(scn, OBJ_MENU, MARGIN_LEFT, 100); + ret |= scene_txt_str(scn, "title", OBJ_MENU_TITLE, STR_MENU_TITLE, +- "U-Boot - Boot Menu", NULL); ++ "Libreboot 26.01 Magnanimous Max (U-Boot menu): https://libreboot.org/", NULL); + ret |= scene_menu_set_title(scn, OBJ_MENU, OBJ_PROMPT); + + logo = video_get_u_boot_logo(); +diff --git a/drivers/video/u_boot_logo.bmp b/drivers/video/u_boot_logo.bmp +index 47f1e9b99789584d2f6dd71e954b51927b35d783..bc9ae001badb25bc900058c167a47247ef91dc7c 100644 +GIT binary patch +literal 27350 +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 + +literal 6932 +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 + +-- +2.39.5 + diff --git a/config/module/u-boot/x86/patches/0006-i-made-it-purple.patch b/config/module/u-boot/x86/patches/0006-i-made-it-purple.patch new file mode 100644 index 00000000..594a1b35 --- /dev/null +++ b/config/module/u-boot/x86/patches/0006-i-made-it-purple.patch @@ -0,0 +1,33 @@ +From 9c1ceb5a5b302275da146149001f4210a1d7fc86 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Wed, 4 Dec 2024 20:13:42 +0000 +Subject: [PATCH 1/1] i made it purple + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + boot/expo.c | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/boot/expo.c b/boot/expo.c +index ed01483f1d..04726d1c9a 100644 +--- a/boot/expo.c ++++ b/boot/expo.c +@@ -189,13 +189,10 @@ int expo_render(struct expo *exp) + struct udevice *dev = exp->display; + struct video_priv *vid_priv = dev_get_uclass_priv(dev); + struct scene *scn = NULL; +- enum colour_idx back; +- u32 colour; + int ret; + +- back = CONFIG_IS_ENABLED(SYS_WHITE_ON_BLACK) ? VID_BLACK : VID_WHITE; +- colour = video_index_to_colour(vid_priv, back); +- ret = video_fill(dev, colour); ++ /* sexy libreboot purple background */ ++ ret = video_fill(dev, 0x280b22); /* #280b22 in HTML RGB notation */ + if (ret) + return log_msg_ret("fill", ret); + +-- +2.39.5 + diff --git a/config/module/u-boot/x86/patches/0008-scripts-dtc-pylibfdt-libfdt.i_shipped-Use-SWIG_Appen.patch b/config/module/u-boot/x86/patches/0008-scripts-dtc-pylibfdt-libfdt.i_shipped-Use-SWIG_Appen.patch new file mode 100644 index 00000000..905b311c --- /dev/null +++ b/config/module/u-boot/x86/patches/0008-scripts-dtc-pylibfdt-libfdt.i_shipped-Use-SWIG_Appen.patch @@ -0,0 +1,61 @@ +From 3c61a3257ad5799202cac64020d3b4af21b72de3 Mon Sep 17 00:00:00 2001 +From: Markus Volk <f_l_k@t-online.de> +Date: Wed, 30 Oct 2024 06:07:16 +0100 +Subject: [PATCH 1/1] scripts/dtc/pylibfdt/libfdt.i_shipped: Use + SWIG_AppendOutput +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Swig has changed language specific AppendOutput functions. The helper +macro SWIG_AppendOutput remains unchanged. Use that instead +of SWIG_Python_AppendOutput, which would require an extra parameter +since swig 4.3.0. + +/home/flk/poky/build-test/tmp/work/qemux86_64-poky-linux/u-boot/2024.10/git/arch/x86/cpu/u-boot-64.lds +| scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’: +| scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’ +| 5581 | resultobj = SWIG_Python_AppendOutput(resultobj, val); +| | ^~~~~~~~~~~~~~~~~~~~~~~~ + +Signed-off-by: Markus Volk <f_l_k@t-online.de> +Reported-by: Rudi Heitbaum <rudi@heitbaum.com> +Link: https://github.com/dgibson/dtc/pull/154 +--- + scripts/dtc/pylibfdt/libfdt.i_shipped | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped +index 56cc5d48f4..e4659489a9 100644 +--- a/scripts/dtc/pylibfdt/libfdt.i_shipped ++++ b/scripts/dtc/pylibfdt/libfdt.i_shipped +@@ -1037,7 +1037,7 @@ typedef uint32_t fdt32_t; + fdt_string(fdt1, fdt32_to_cpu($1->nameoff))); + buff = PyByteArray_FromStringAndSize( + (const char *)($1 + 1), fdt32_to_cpu($1->len)); +- resultobj = SWIG_Python_AppendOutput(resultobj, buff); ++ resultobj = SWIG_AppendOutput(resultobj, buff); + } + } + +@@ -1076,7 +1076,7 @@ typedef uint32_t fdt32_t; + + %typemap(argout) int *depth { + PyObject *val = Py_BuildValue("i", *arg$argnum); +- resultobj = SWIG_Python_AppendOutput(resultobj, val); ++ resultobj = SWIG_AppendOutput(resultobj, val); + } + + %apply int *depth { int *depth }; +@@ -1092,7 +1092,7 @@ typedef uint32_t fdt32_t; + if (PyTuple_GET_SIZE(resultobj) == 0) + resultobj = val; + else +- resultobj = SWIG_Python_AppendOutput(resultobj, val); ++ resultobj = SWIG_AppendOutput(resultobj, val); + } + } + +-- +2.39.5 + diff --git a/config/module/u-boot/x86/patches/0009-u-boot-fix-build-error-on-newer-hostcc.patch b/config/module/u-boot/x86/patches/0009-u-boot-fix-build-error-on-newer-hostcc.patch new file mode 100644 index 00000000..ac34a03d --- /dev/null +++ b/config/module/u-boot/x86/patches/0009-u-boot-fix-build-error-on-newer-hostcc.patch @@ -0,0 +1,50 @@ +From 236cb1c25735491dcac87acdf5beb3859463b9d4 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <leah@libreboot.org> +Date: Wed, 1 Apr 2026 07:39:07 +0100 +Subject: [PATCH 1/1] u-boot: fix build error on newer hostcc + +because... they changed a flag. + +because they're gnu. this fixes building +u-boot x86 on arch linux. + +Signed-off-by: Leah Rowe <leah@libreboot.org> +--- + arch/sandbox/config.mk | 4 ++-- + arch/x86/config.mk | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/arch/sandbox/config.mk b/arch/sandbox/config.mk +index 405843800e9..2ee59817252 100644 +--- a/arch/sandbox/config.mk ++++ b/arch/sandbox/config.mk +@@ -46,10 +46,10 @@ cmd_u-boot-spl = (cd $(obj) && $(CC) -o $(SPL_BIN) -Wl,-T u-boot-spl.lds \ + + ifeq ($(HOST_ARCH),$(HOST_ARCH_X86_64)) + EFI_LDS := ${SRCDIR}/../../../arch/x86/lib/elf_x86_64_efi.lds +-EFI_TARGET := --target=efi-app-x86_64 ++EFI_TARGET := --output-target=efi-app-x86_64 + else ifeq ($(HOST_ARCH),$(HOST_ARCH_X86)) + EFI_LDS := ${SRCDIR}/../../../arch/x86/lib/elf_ia32_efi.lds +-EFI_TARGET := --target=efi-app-ia32 ++EFI_TARGET := --output-target=efi-app-ia32 + else ifeq ($(HOST_ARCH),$(HOST_ARCH_AARCH64)) + EFI_LDS := ${SRCDIR}/../../../arch/arm/lib/elf_aarch64_efi.lds + OBJCOPYFLAGS += -j .text -j .secure_text -j .secure_data -j .rodata -j .data \ +diff --git a/arch/x86/config.mk b/arch/x86/config.mk +index 2e3a7119e79..329632164f7 100644 +--- a/arch/x86/config.mk ++++ b/arch/x86/config.mk +@@ -127,7 +127,7 @@ endif + endif + + ifdef CONFIG_X86_64 +-EFI_TARGET := --target=efi-app-x86_64 ++EFI_TARGET := --output-target=efi-app-x86_64 + else +-EFI_TARGET := --target=efi-app-ia32 ++EFI_TARGET := --output-target=efi-app-ia32 + endif +-- +2.47.3 + diff --git a/config/module/u-boot/x86/patches/0010-absolutely-disable-Werror-at-all-times.patch b/config/module/u-boot/x86/patches/0010-absolutely-disable-Werror-at-all-times.patch new file mode 100644 index 00000000..efee59e3 --- /dev/null +++ b/config/module/u-boot/x86/patches/0010-absolutely-disable-Werror-at-all-times.patch @@ -0,0 +1,115 @@ +From 737913084147c10644cb0a03663189ead57da866 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <leah@libreboot.org> +Date: Mon, 21 Sep 2026 12:37:46 +0100 +Subject: [PATCH 1/1] absolutely disable -Werror at all times + +Signed-off-by: Leah Rowe <leah@libreboot.org> +--- + Makefile | 3 --- + scripts/Kbuild.include | 6 +++--- + scripts/Kconfig.include | 2 +- + scripts/gcc-stack-usage.sh | 2 +- + scripts/kernel-doc | 4 ---- + tools/buildman/builderthread.py | 3 --- + 6 files changed, 5 insertions(+), 15 deletions(-) + +diff --git a/Makefile b/Makefile +index 34dd029d0cd..47cdb8663f4 100644 +--- a/Makefile ++++ b/Makefile +@@ -809,9 +809,6 @@ endif + # Use make W=1 to enable them (see scripts/Makefile.extrawarn) + KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable) + +-# Prohibit date/time macros, which would make the build non-deterministic +-KBUILD_CFLAGS += $(call cc-option,-Werror=date-time) +- + include scripts/Makefile.extrawarn + + # Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments +diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include +index 62e0207f91b..2a1bad235ab 100644 +--- a/scripts/Kbuild.include ++++ b/scripts/Kbuild.include +@@ -113,7 +113,7 @@ as-instr = $(call try-run,\ + # __cc-option + # Usage: MY_CFLAGS += $(call __cc-option,$(CC),$(MY_CFLAGS),-march=winchip-c6,-march=i586) + __cc-option = $(call try-run,\ +- $(1) -Werror $(2) $(3) -c -x c /dev/null -o "$$TMP",$(3),$(4)) ++ $(1) $(2) $(3) -c -x c /dev/null -o "$$TMP",$(3),$(4)) + + # cc-option + # Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586) +@@ -128,12 +128,12 @@ hostcc-option = $(call __cc-option, $(HOSTCC),\ + # cc-option-yn + # Usage: flag := $(call cc-option-yn,-march=winchip-c6) + cc-option-yn = $(call try-run,\ +- $(CC) -Werror $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n) ++ $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n) + + # cc-disable-warning + # Usage: cflags-y += $(call cc-disable-warning,unused-but-set-variable) + cc-disable-warning = $(call try-run,\ +- $(CC) -Werror $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1))) ++ $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1))) + + # cc-name + # Expands to either gcc or clang +diff --git a/scripts/Kconfig.include b/scripts/Kconfig.include +index b7598ca5d9f..2cda1340e3c 100644 +--- a/scripts/Kconfig.include ++++ b/scripts/Kconfig.include +@@ -20,7 +20,7 @@ success = $(if-success,$(1),y,n) + + # $(cc-option,<flag>) + # Return y if the compiler supports <flag>, n otherwise +-cc-option = $(success,$(CC) -Werror $(1) -E -x c /dev/null -o /dev/null) ++cc-option = $(success,$(CC) $(1) -E -x c /dev/null -o /dev/null) + + # $(cc-define,<macro>) + # Return y if the compiler defines <macro>, n otherwise +diff --git a/scripts/gcc-stack-usage.sh b/scripts/gcc-stack-usage.sh +index 3db32e35f68..4802165405f 100755 +--- a/scripts/gcc-stack-usage.sh ++++ b/scripts/gcc-stack-usage.sh +@@ -6,7 +6,7 @@ + + TMP="$$" + +-cat <<END | $@ -Werror -fstack-usage -x c - -c -o $TMP >/dev/null 2>&1 \ ++cat <<END | $@ -fstack-usage -x c - -c -o $TMP >/dev/null 2>&1 \ + && echo "y" + int main(void) + { +diff --git a/scripts/kernel-doc b/scripts/kernel-doc +index 6dda8cb51f2..a363acb03ef 100755 +--- a/scripts/kernel-doc ++++ b/scripts/kernel-doc +@@ -329,10 +329,6 @@ if (defined($ENV{'KBUILD_VERBOSE'})) { + $verbose = "$ENV{'KBUILD_VERBOSE'}"; + } + +-if (defined($ENV{'KDOC_WERROR'})) { +- $Werror = "$ENV{'KDOC_WERROR'}"; +-} +- + if (defined($ENV{'KCFLAGS'})) { + my $kcflags = "$ENV{'KCFLAGS'}"; + +diff --git a/tools/buildman/builderthread.py b/tools/buildman/builderthread.py +index bbe2f6f0d24..c8070a7737a 100644 +--- a/tools/buildman/builderthread.py ++++ b/tools/buildman/builderthread.py +@@ -226,9 +226,6 @@ class BuilderThread(threading.Thread): + args.append('-s') + if self.builder.num_jobs is not None: + args.extend(['-j', str(self.builder.num_jobs)]) +- if self.builder.warnings_as_errors: +- args.append('KCFLAGS=-Werror') +- args.append('HOSTCFLAGS=-Werror') + if self.builder.allow_missing: + args.append('BINMAN_ALLOW_MISSING=1') + if self.builder.no_lto: +-- +2.47.3 + diff --git a/config/module/u-boot/x86/target.cfg b/config/module/u-boot/x86/target.cfg new file mode 100644 index 00000000..dec79f53 --- /dev/null +++ b/config/module/u-boot/x86/target.cfg @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +rev="f919c3a889f0ec7d63a48b5d0ed064386b0980bd" # v2024.10 + +tree="x86" diff --git a/config/module/u-boot/x86_64/nuke.list b/config/module/u-boot/x86_64/nuke.list new file mode 100644 index 00000000..f3a3fcc3 --- /dev/null +++ b/config/module/u-boot/x86_64/nuke.list @@ -0,0 +1 @@ +test/lib/strlcat.c diff --git a/config/module/u-boot/x86_64/patches/0001-x86-serial-ns16550-Allow-the-UART-to-be-silently-dis.patch b/config/module/u-boot/x86_64/patches/0001-x86-serial-ns16550-Allow-the-UART-to-be-silently-dis.patch new file mode 100644 index 00000000..e3969d03 --- /dev/null +++ b/config/module/u-boot/x86_64/patches/0001-x86-serial-ns16550-Allow-the-UART-to-be-silently-dis.patch @@ -0,0 +1,116 @@ +From 13263cb35e8fc82f15aad2c1091f2b05342fbe0f Mon Sep 17 00:00:00 2001 +From: Simon Glass <sjg@chromium.org> +Date: Wed, 1 Nov 2023 12:04:42 -0600 +Subject: [PATCH 1/1] x86: serial: ns16550: Allow the UART to be silently + disabled + +U-Boot normally requires a UART. When booting from coreboot it is +sometimes just not available, e.g. when no sysinfo or DBG2 information +is provided. + +In this case we need to continue running, since the display can be used. +Add a flag to disable serial for this case. + +This allows U-Boot to start up and operation from the display, instead +of hanging on start-up. + +This could perhaps be hidden behind a Kconfig option to reduce code +size. + +Signed-off-by: Simon Glass <sjg@chromium.org> +--- + drivers/serial/ns16550.c | 17 +++++++++++++++-- + drivers/serial/serial_coreboot.c | 1 + + include/ns16550.h | 1 + + 3 files changed, 17 insertions(+), 2 deletions(-) + +diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c +index 6fcb5b523a..891124fc62 100644 +--- a/drivers/serial/ns16550.c ++++ b/drivers/serial/ns16550.c +@@ -384,6 +384,8 @@ static int ns16550_serial_putc(struct udevice *dev, const char ch) + { + struct ns16550 *const com_port = dev_get_priv(dev); + ++ if (com_port->plat->flags & NS16550_FLAG_DISABLE) ++ return 0; + if (!(serial_in(&com_port->lsr) & UART_LSR_THRE)) + return -EAGAIN; + serial_out(ch, &com_port->thr); +@@ -404,6 +406,9 @@ static int ns16550_serial_pending(struct udevice *dev, bool input) + { + struct ns16550 *const com_port = dev_get_priv(dev); + ++ if (com_port->plat->flags & NS16550_FLAG_DISABLE) ++ return 0; ++ + if (input) + return (serial_in(&com_port->lsr) & UART_LSR_DR) ? 1 : 0; + else +@@ -414,6 +419,9 @@ static int ns16550_serial_getc(struct udevice *dev) + { + struct ns16550 *const com_port = dev_get_priv(dev); + ++ if (com_port->plat->flags & NS16550_FLAG_DISABLE) ++ return 0; ++ + if (!(serial_in(&com_port->lsr) & UART_LSR_DR)) + return -EAGAIN; + +@@ -428,7 +436,8 @@ static int ns16550_serial_setbrg(struct udevice *dev, int baudrate) + + clock_divisor = ns16550_calc_divisor(com_port, plat->clock, baudrate); + +- ns16550_setbrg(com_port, clock_divisor); ++ if (!(plat->flags & NS16550_FLAG_DISABLE)) ++ ns16550_setbrg(com_port, clock_divisor); + + return 0; + } +@@ -441,6 +450,9 @@ static int ns16550_serial_setconfig(struct udevice *dev, uint serial_config) + uint bits = SERIAL_GET_BITS(serial_config); + uint stop = SERIAL_GET_STOP(serial_config); + ++ if (com_port->plat->flags & NS16550_FLAG_DISABLE) ++ return 0; ++ + /* + * only parity config is implemented, check if other serial settings + * are the default one. +@@ -533,7 +545,8 @@ int ns16550_serial_probe(struct udevice *dev) + reset_deassert_bulk(&reset_bulk); + + com_port->plat = dev_get_plat(dev); +- ns16550_init(com_port, -1); ++ if (!(plat->flags & NS16550_FLAG_DISABLE)) ++ ns16550_init(com_port, -1); + + return 0; + } +diff --git a/drivers/serial/serial_coreboot.c b/drivers/serial/serial_coreboot.c +index b1f69f6998..a885809abd 100644 +--- a/drivers/serial/serial_coreboot.c ++++ b/drivers/serial/serial_coreboot.c +@@ -119,6 +119,7 @@ static int coreboot_of_to_plat(struct udevice *dev) + * there is no UART, which may panic. So stay silent and + * pray that the video console will work. + */ ++ plat->flags |= NS16550_FLAG_DISABLE; + log_debug("Cannot detect UART\n"); + } + +diff --git a/include/ns16550.h b/include/ns16550.h +index 7f48130008..3c4f3e7539 100644 +--- a/include/ns16550.h ++++ b/include/ns16550.h +@@ -52,6 +52,7 @@ enum ns16550_flags { + NS16550_FLAG_IO = 1 << 0, /* Use I/O access (else mem-mapped) */ + NS16550_FLAG_ENDIAN = 1 << 1, /* Use out_le/be_32() */ + NS16550_FLAG_BE = 1 << 2, /* Big-endian access (else little) */ ++ NS16550_FLAG_DISABLE = BIT(3), /* No output or input */ + }; + + /** +-- +2.39.5 + diff --git a/config/module/u-boot/x86_64/patches/0002-x86-Avoid-clearing-the-VESA-display.patch b/config/module/u-boot/x86_64/patches/0002-x86-Avoid-clearing-the-VESA-display.patch new file mode 100644 index 00000000..7fb75772 --- /dev/null +++ b/config/module/u-boot/x86_64/patches/0002-x86-Avoid-clearing-the-VESA-display.patch @@ -0,0 +1,34 @@ +From a6b9e69a21970951252419b5b5fa9c04fabbf1a4 Mon Sep 17 00:00:00 2001 +From: Simon Glass <sjg@chromium.org> +Date: Tue, 12 Nov 2024 06:59:02 -0700 +Subject: [PATCH 1/2] x86: Avoid clearing the VESA display + +U-Boot clears the display when it starts up, so there is no need to ask +the VESA driver to do this. Fix this and add a comment explaining the +flags. + +Signed-off-by: Simon Glass <sjg@chromium.org> +--- + arch/x86/lib/bios.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/arch/x86/lib/bios.c b/arch/x86/lib/bios.c +index 03f7360032..374f4f20b8 100644 +--- a/arch/x86/lib/bios.c ++++ b/arch/x86/lib/bios.c +@@ -228,7 +228,11 @@ static void vbe_set_graphics(int vesa_mode, struct vesa_state *mode_info) + { + unsigned char *framebuffer; + +- mode_info->video_mode = (1 << 14) | vesa_mode; ++ /* ++ * bit 14 is linear-framebuffer mode ++ * bit 15 means don't clear the display ++ */ ++ mode_info->video_mode = (1 << 14) | (1 << 15) | vesa_mode; + vbe_get_mode_info(mode_info); + + framebuffer = (unsigned char *)(ulong)mode_info->vesa.phys_base_ptr; +-- +2.39.5 + diff --git a/config/module/u-boot/x86_64/patches/0003-x86-Avoid-clearing-the-VESA-display.patch b/config/module/u-boot/x86_64/patches/0003-x86-Avoid-clearing-the-VESA-display.patch new file mode 100644 index 00000000..bb33d6fd --- /dev/null +++ b/config/module/u-boot/x86_64/patches/0003-x86-Avoid-clearing-the-VESA-display.patch @@ -0,0 +1,29 @@ +From d098961a91c8f410f50ae31e60300c0ef1f67075 Mon Sep 17 00:00:00 2001 +From: Simon Glass <sjg@chromium.org> +Date: Tue, 12 Nov 2024 06:59:06 -0700 +Subject: [PATCH 2/2] x86: Drop the message about features missing in 64-bit + +This functions normally and has done for a while, so drop this scary +message. + +Signed-off-by: Simon Glass <sjg@chromium.org> +--- + arch/x86/lib/spl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/x86/lib/spl.c b/arch/x86/lib/spl.c +index f761fbc8bc..656f59ede0 100644 +--- a/arch/x86/lib/spl.c ++++ b/arch/x86/lib/spl.c +@@ -283,7 +283,7 @@ void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image) + { + int ret; + +- printf("Jumping to 64-bit U-Boot: Note many features are missing\n"); ++ log_debug("Jumping to 64-bit U-Boot\n"); + ret = cpu_jump_to_64bit_uboot(spl_image->entry_point); + debug("ret=%d\n", ret); + hang(); +-- +2.39.5 + diff --git a/config/module/u-boot/x86_64/patches/0004-Support-auto-boot-timeout-delay-bootflow-menu.patch b/config/module/u-boot/x86_64/patches/0004-Support-auto-boot-timeout-delay-bootflow-menu.patch new file mode 100644 index 00000000..ffc7b581 --- /dev/null +++ b/config/module/u-boot/x86_64/patches/0004-Support-auto-boot-timeout-delay-bootflow-menu.patch @@ -0,0 +1,302 @@ +From d9371422ac74ea73d1620f01300a7136a7649754 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Wed, 4 Dec 2024 06:52:39 +0000 +Subject: [PATCH 1/1] Support auto-boot timeout delay bootflow menu + +The bootflow menu cannot currently auto-boot a selected entry, +which means that the user must press enter to boot their system. +This can be a problem on headless setups; for example, it is not +currently feasible to set up a headless server with U-Boot, when +using it to boot via UEFI on a coreboot setup. + +This patch adds the following build-time configuration option: + +CONFIG_CMD_BOOTFLOW_BOOTDELAY + +This creates a timeout delay in the given number of seconds. +If an arrow key is press to navigate the menu, the timer is +disabled and the user must then press enter to boot the selected +option. When this happens, the timeout display is replaced by +the old message indicating that the user should press enter. + +The default boot delay is 30 seconds, and the timeout is enabled +by default. Setting it to zero will restore the old behaviour, +whereby no timeout is provided and the user must press enter. + +If a negative integer is provided, the timer will default to +zero. The timer value is further filtered by modulus of 100, +so that the maximum number of seconds allowed is 99 seconds. + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + boot/bootflow_menu.c | 117 +++++++++++++++++++++++++++++++++++-- + cmd/Kconfig | 12 ++++ + doc/usage/cmd/bootflow.rst | 11 ++++ + include/bootflow.h | 10 +++- + 4 files changed, 143 insertions(+), 7 deletions(-) + +diff --git a/boot/bootflow_menu.c b/boot/bootflow_menu.c +index 9d0dc352f9..172139b187 100644 +--- a/boot/bootflow_menu.c ++++ b/boot/bootflow_menu.c +@@ -30,7 +30,7 @@ struct menu_priv { + int num_bootflows; + }; + +-int bootflow_menu_new(struct expo **expp) ++int bootflow_menu_new(struct expo **expp, const char *prompt) + { + struct udevice *last_bootdev; + struct scene_obj_menu *menu; +@@ -54,7 +54,7 @@ int bootflow_menu_new(struct expo **expp) + return log_msg_ret("scn", ret); + + ret |= scene_txt_str(scn, "prompt", OBJ_PROMPT, STR_PROMPT, +- "UP and DOWN to choose, ENTER to select", NULL); ++ prompt, NULL); + + ret = scene_menu(scn, "main", OBJ_MENU, &menu); + ret |= scene_obj_set_pos(scn, OBJ_MENU, MARGIN_LEFT, 100); +@@ -138,6 +138,29 @@ int bootflow_menu_new(struct expo **expp) + return 0; + } + ++int bootflow_menu_show_countdown(struct expo *exp, char *prompt, ++ char bootflow_delay) ++{ ++ char *i; ++ ++ if (prompt == NULL) ++ return 0; ++ if (strlen(prompt) < 2) ++ return 0; ++ ++ i = prompt + strlen(prompt) - 2; ++ ++ if (bootflow_delay >= 10) { ++ *(i) = 48 + (bootflow_delay / 10); ++ *(i + 1) = 48 + (bootflow_delay % 10); ++ } else { ++ *(i) = 48 + bootflow_delay; ++ *(i + 1) = ' '; ++ } ++ ++ return expo_render(exp); ++} ++ + int bootflow_menu_apply_theme(struct expo *exp, ofnode node) + { + struct menu_priv *priv = exp->priv; +@@ -184,14 +207,62 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + struct expo *exp; + uint sel_id; + bool done; +- int ret; ++ int i, ret; ++ ++ /* Auto-boot countdown */ ++ char bootflow_delay_secs, *prompt; ++ int bootflow_time, bootflow_delay; ++ bool skip_render_once = false; ++ bool bootflow_countdown = false; ++ ++ /* TODO: perhaps set based on defconfig? */ ++ /* WARNING: These two strings must be of the same length. */ ++ char promptChoice[] = "UP and DOWN to choose, ENTER to select"; ++ char promptTimeout[] = "UP and DOWN to choose. Auto-boot in "; ++/* ++ // Uncomment if the strings become configurable (defconfig): ++ // (to prevent buffer overflows) ++ char promptDefault[] = "UP and DOWN to choose, ENTER to select"; ++ if (promptTimeout = NULL) ++ promptTimeout = promptDefault; ++ if (promptChoice = NULL) ++ promptChoice = promptDefault; ++ if (strlen(promptChoice) < 2) ++ promptChoice = promptDefault; ++ if (strlen(promptTimeout) < 2) ++ promptTimeout = promptDefault; ++ if (strlen(promptChoice) != strlen(promptTimeout)) ++ promptChoice = promptTimeout; ++*/ ++ prompt = promptChoice; ++ ++ bootflow_delay_secs = 15; /* TODO: set based on defconfig. */ ++ ++#if defined(CONFIG_CMD_BOOTFLOW_BOOTDELAY) ++ /* If set to zero, the auto-boot timeout is disabled. */ ++ bootflow_delay_secs = CONFIG_CMD_BOOTFLOW_BOOTDELAY; ++#else ++ bootflow_delay_secs = 30; ++#endif ++ ++ if (bootflow_delay_secs < 0) ++ bootflow_delay_secs = 0; /* disable countdown if negative */ ++ bootflow_delay_secs %= 100; /* No higher than 99 seconds */ ++ ++ if (bootflow_delay_secs > 0) { ++ bootflow_countdown = true; /* enable auto-boot countdown */ ++ prompt = promptTimeout; ++ bootflow_time = 0; /* Time elapsed in milliseconds */ ++ bootflow_delay = ++ (int)bootflow_delay_secs * 1000; /* milliseconds */ ++ } + + cli_ch_init(cch); + + sel_bflow = NULL; + *bflowp = NULL; + +- ret = bootflow_menu_new(&exp); ++ ret = bootflow_menu_new(&exp, prompt); + if (ret) + return log_msg_ret("exp", ret); + +@@ -216,12 +287,20 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + if (text_mode) + expo_set_text_mode(exp, text_mode); + ++ if (bootflow_countdown) { ++ ret = bootflow_menu_show_countdown(exp, prompt, ++ bootflow_delay_secs); ++ skip_render_once = true; /* Don't print menu twice on start */ ++ } + done = false; + do { + struct expo_action act; + int ichar, key; + +- ret = expo_render(exp); ++ if (skip_render_once) ++ skip_render_once = false; ++ else ++ ret = expo_render(exp); + if (ret) + break; + +@@ -231,7 +310,23 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + schedule(); + mdelay(2); + ichar = cli_ch_process(cch, -ETIMEDOUT); ++ if (bootflow_countdown) { ++ bootflow_delay -= 2; ++ bootflow_time += 2; ++ if (bootflow_delay <= 0) ++ ichar='\n'; ++ if (bootflow_time < 1000) ++ continue; ++ bootflow_time = 0; ++ --bootflow_delay_secs; ++ ret = bootflow_menu_show_countdown(exp, ++ prompt, bootflow_delay_secs); ++ if (ret) ++ break; ++ } + } ++ if (ret) ++ break; + if (!ichar) { + ichar = getchar(); + ichar = cli_ch_process(cch, ichar); +@@ -265,6 +360,17 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + break; + } + } ++ if (bootflow_countdown) { ++ /* A key press interrupted the auto-boot timeout */ ++ bootflow_countdown = false; ++ if (strlen(prompt) == strlen(promptChoice)) { ++ /* "Auto-boot in" becomes "Press ENTER" */ ++ (void) memcpy(prompt, promptChoice, ++ strlen(promptChoice)); ++ ret = expo_render(exp); ++ skip_render_once = true; ++ } ++ } + } while (!done); + + if (ret) +@@ -272,7 +378,6 @@ int bootflow_menu_run(struct bootstd_priv *std, bool text_mode, + + if (sel_id) { + struct bootflow *bflow; +- int i; + + for (ret = bootflow_first_glob(&bflow), i = 0; !ret && i < 36; + ret = bootflow_next_glob(&bflow), i++) { +diff --git a/cmd/Kconfig b/cmd/Kconfig +index 978f44eda4..0303869625 100644 +--- a/cmd/Kconfig ++++ b/cmd/Kconfig +@@ -288,6 +288,7 @@ config CMD_BOOTDEV + config CMD_BOOTFLOW + bool "bootflow" + depends on BOOTSTD ++ select CMD_BOOTFLOW_BOOTDELAY + default y + help + Support scanning for bootflows available with the bootdevs. The +@@ -303,6 +304,17 @@ config CMD_BOOTFLOW_FULL + + This command is not necessary for bootstd to work. + ++config CMD_BOOTFLOW_BOOTDELAY ++ int "bootflow - delay in seconds before booting the first menu option" ++ depends on CMD_BOOTFLOW ++ default 30 ++ help ++ On the bootflow menu, wait for the defined number of seconds before ++ automatically booting. Unless interrupted, this will auto-boot the ++ first option in the generated list of boot options. ++ ++ Set this to zero if you wish to disable the auto-boot timeout. ++ + config CMD_BOOTMETH + bool "bootmeth" + depends on BOOTSTD +diff --git a/doc/usage/cmd/bootflow.rst b/doc/usage/cmd/bootflow.rst +index 5d41fe37a7..728f294274 100644 +--- a/doc/usage/cmd/bootflow.rst ++++ b/doc/usage/cmd/bootflow.rst +@@ -32,6 +32,17 @@ Note that `CONFIG_BOOTSTD_FULL` (which enables `CONFIG_CMD_BOOTFLOW_FULL) must + be enabled to obtain full functionality with this command. Otherwise, it only + supports `bootflow scan` which scans and boots the first available bootflow. + ++The `CONFIG_CMD_BOOTFLOW_BOOTDELAY` option can be set, defining (in seconds) the ++amount of time that U-Boot will wait; after this time passes, it will ++automatically boot the first item when generating a bootflow menu. If the value ++is set to zero, the timeout is disabled and the user must press enter; if it's ++negative, the timeout is disabled, and the maximum number of seconds is 99 ++seconds. If a value higher than 100 is provided, the value is changed to a ++modulus of 100 (remainder of the value divided by 100). ++ ++If the `CONFIG_BOOTFLOW_BOOTFLOW` option is undefined, the timeout will default ++to 30 seconds. ++ + bootflow scan + ~~~~~~~~~~~~~ + +diff --git a/include/bootflow.h b/include/bootflow.h +index 4d2fc7b69b..9f4245caa7 100644 +--- a/include/bootflow.h ++++ b/include/bootflow.h +@@ -452,7 +452,15 @@ int bootflow_iter_check_system(const struct bootflow_iter *iter); + * @expp: Returns the expo created + * Returns 0 on success, -ve on error + */ +-int bootflow_menu_new(struct expo **expp); ++int bootflow_menu_new(struct expo **expp, const char *prompt); ++ ++/** ++ * bootflow_menu_show_countdown() - Show countdown timer for auto-boot ++ * ++ * Returns the value of expo_render() ++ */ ++int bootflow_menu_show_countdown(struct expo *exp, char *prompt, ++ char bootflow_delay); + + /** + * bootflow_menu_apply_theme() - Apply a theme to a bootmenu +-- +2.39.5 + diff --git a/config/module/u-boot/x86_64/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch b/config/module/u-boot/x86_64/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch new file mode 100644 index 00000000..ec033187 --- /dev/null +++ b/config/module/u-boot/x86_64/patches/0005-Libreboot-branding-version-on-the-bootflow-menu.patch @@ -0,0 +1,213 @@ +From 4ff0f509aa28eb8e85f1c0c9929c63996c646bb8 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Wed, 4 Dec 2024 18:20:19 +0000 +Subject: [PATCH 1/1] Libreboot branding/version on the bootflow menu + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + boot/bootflow_menu.c | 2 +- + drivers/video/u_boot_logo.bmp | Bin 6932 -> 27350 bytes + 2 files changed, 1 insertion(+), 1 deletion(-) + +diff --git a/boot/bootflow_menu.c b/boot/bootflow_menu.c +index 84831915a2..8e26ec2aef 100644 +--- a/boot/bootflow_menu.c ++++ b/boot/bootflow_menu.c +@@ -59,7 +59,7 @@ int bootflow_menu_new(struct expo **expp, const char *prompt) + ret = scene_menu(scn, "main", OBJ_MENU, &menu); + ret |= scene_obj_set_pos(scn, OBJ_MENU, MARGIN_LEFT, 100); + ret |= scene_txt_str(scn, "title", OBJ_MENU_TITLE, STR_MENU_TITLE, +- "U-Boot - Boot Menu", NULL); ++ "Libreboot 26.01 Magnanimous Max (U-Boot menu): https://libreboot.org/", NULL); + ret |= scene_menu_set_title(scn, OBJ_MENU, OBJ_PROMPT); + + logo = video_get_u_boot_logo(); +diff --git a/drivers/video/u_boot_logo.bmp b/drivers/video/u_boot_logo.bmp +index 47f1e9b99789584d2f6dd71e954b51927b35d783..bc9ae001badb25bc900058c167a47247ef91dc7c 100644 +GIT binary patch +literal 27350 +zcmeI4X;4&Wy2qdHrW-_vf~Q+fvxtHMDuIZCglHm=fVhAxir~hgf>ENNF(W3?XpH+1 +zw}==uio$3#35sl^*F+S*+^So3t7fU1n$PoLKHXb0U#6y<|MQ++Xy|4+$n8^eeap7r +zKIil~zy3eV`@HYzCVj>4wvlMbK18wTU9&xO<R`XMCDHE#l?Umt2@lCAljLtD*%VHp +z6Rczowo=GcnJlK66y`gf!Y4%Gm<1$-#E>MXP)LkS)`eD*V$#TxIG3XQWs30+r8r5Z +zg_C89GDgvK|5-F+Vl2(^jiNcmI9lKvNArz|lx9q(#l}>MiIQplOqmi=acxsJNpBR8 +z<X4UUXCy_xPtyE6k`k*(TD*tCvSf-V1Ybb{P1_z#p*8PP#ICs%z9)&o_b#NcU!~F9 +zY?-2qWtzJ|rngqhl(bH!v=W)7m&+7cHI3pn;dxsmNlS~#ytb62oLv;MC6~fJ&7jcF +zb4V)NMw$5BIp$DW6Jn*M0dbUWe1}#CCQwPxOv;}l)3&fs+A?J})deThhx26Gjn9x{ +z%%EIjHsu?0XuYw3Hk(${W@8Ce8`o2P;Bu;)P>4qXWv!7Z1ANPhWGVq`L7_~g`7&)^ +zDN{wBOjUT)Etjc22YMKf<8gtc2t16fc>GAx#5R(GZ{zWRBx^fKZ{nDQ8zjx>AZczF +z^y(%l?YAW5og*pZ5k4pSB|nf<hvO<9lC<+4Nh_a_RDeh6FWB~!qz`+s{~1a3y%c(I +z8HFA$AnTE0vL0PW))N&ZpRT5<M?N9BVF!hrsiTnd`zYk%XEgQdX$omPL?M@tllkI# +zlFocjQ@=Y)mgXih-@HMV)@HKYxkFNG2bu5vMCKnKlDVyiq(ivg2|Ui?noW4zK>rS& +zANJDm@Y!_2vWQMw7traDG&&!;fEwgfYK(Y`j>TH(TwEwM&9Ty%`7)i0ilT2L<Ebe! +zk(v`^x(8c)zgVUR2@%x(Ryf^XBvVgPDD|YtbZgcux*k27ZpK8@owz9aDL#@8Oj=5Z +zgEHx;^d5Z$-#P?)ocuthqj)}>DN|FrOgEOu)cT%GPm-<FyHHkQ=il^y%j@=9f!7NB +zJ1AhbSWH^|9KK5W)N7N_Y_{R?lNKd3>uE-1<%~!Z`1E><#SB|(se#Y5b!$~s)#m9e +zp|95XEEb{(%vV*ll?nA4)6ZhjGoV7anXRlP>oSW8fTl{DgpufLPC-sF6Dq3&A^^2# +zV)!5vIsmn1VvEI>U}c)H8BsC;3Th6}3_>)M4bWF}fE*}5<W#d2QLIHik!mVARm0ZW +z1cZe-Q)9J4vw$-gFbeA@np6<63lFTWo`EGE&E;uUjIb_KUH##Qk($iYB1E<VZ~Jzn +zK`mMsxn+7a@II<B=`;zbC*3ySeYA6nMuV7W2IK9lMLFoFK@(#TVZ2?nwf+tZYpJTn +zit-kLx4VWdY@6R{DBB=HcJA6$yL<P(Spe+UG*Z@JkP~=&_SH`W-Nc!*VrE7A3r=ki +z64lh!*6ypXuisx+_vvR!`(zQrYN9kGng!$TtKYx>)6eX9-1&GW6M8+Qk)kK=177|9 +zPaSkN5kHQ86@X@51sKEVjww6%px!_{P%c7kIJW8<pU}W|7=tep?Qy3bi+G?8^6JO1 +z+Qn%0rdC9v9d3-vc%OfM;8z^V>Yb1%AU1a1eB97LQ>h^W#I11!-+_i`NT?bRg=Nx$ +z1<56AOCy+2)p-yg2;IRA>K(Xr;8IhX+7mMkk#YWll9JN(8`iOgY5*~&MaO(Rh>!6O +zT)NcMba@d@Y*HB}2r$E2Yk{|^tZXUf5o*SETplet<`Wl2A>XB@%a<=-**k^_3IHj* +zbp57H8_O$JAe7Yr@;SIotaB3D@WA)&x8LrC52~)daAIA=hO&+2Pkvc}z8Vu-EPjH~ +z6m8FfcDyFwUAc0l!H0A@b!Qf{2r@*hsCe?US3Mvu&c#)<qM+h@@I6-V%GIll7v8{K +ze3c18AtXcair!}{RV&EqK*U81XjhN%px)JMXp8Y}1oc+t_Y&QC_J9>sKia_u2jGG4 +zs^Gi!4JR5jb!Im6hfjb0{6&uHQ{ciVrxC@D%);_rwc$a+3rjEw;HE0snDsi{oxT?g +zsMb-;$ftFm3+pz)`PldD>amH@ex0V&u7c8R^5=ULoHE3JLn~`G8)(W4v~=Xep%3-6 +zmv7+A0^TK&mu>1P)>ZKM|Ar-#kZxR>-eMR&uL%p^247z=>C|Q`qBr{E^|!8_u<`u4 +zGhZ#9G|30HR?Mxi4lf}-y%6yJWVK!lC)P2al34~CR}eDZ$x|neeR=rc+}X2Z0|NsB +zj1Dn}yd%X1rdGD_4|szo8xFIb=wm0|0Ow=A#*639d@b<4IGC6aKW9$L!W6XF0Fi!h +zT~|Z9zJhxPG2aWML6tFr3@FsQ>_~ieyDI8kJTLH$9#-%K90Q`+8SS?$IL!^<gN0iK +zAYw#a7K8(GQQ#(Y1s~KqbNa-wBM!WI3Y+c!d4Y<I;@Wz>-p?H5YA>S6%-62k1>y5U +zI^UTyr%oL^^5qu?-%W^*U)Wzh8)9sL!yE1K<L8tL0<IK%zftRgM0=Y&st4nqgnC~d +zV!SzS=u%SVB_&N$L^K!-gnvr2%LoDc`r6y?_hhQHu#RSO;&T%k*Di|CJ${t&65Xqp +zlA4r+dU={Lcp6uHPkvspA~RT-!r3Ag0=BoexAk<WOftwY4Ic2m;miWO!v_y0zUf}R +z)YJvQTf1R{C`h0D^7GT)XU`w3%$%$+nk^CpY`fpq)7|-<8Vh48O*E6$8#ruSYgF(! +z@rlgh5*W4@HoW!VgL;q;c+Z|cgvZ?mqP^v`we@s$bs>f&yV*zjY{o5i(q9-%=fD%8 +z3-vtVVY0?}WiYNyy$8&P_Crpv%^TagJ32b=-NdVra@mh#Jo0zreD=KT%q(sIAs^2r +zF&o-cUjD?Uo*j=7e_WXk84cZnuO)l*d=`X9gIhd=u08Q3#=q@0bm4of9#7Wnc+Vd^ +zU@k}N>$`tD=QrIQot^jYwcJt>B1kW8@DRF;cl^lVLkANR<LA8XM!XcEUWu4XmUHO- +z%)ZxOJy7=D=h$HDwzS;3o;7*_iPEmPjA+UWMLm&OkeA&%Us6)Cn2B#H+lbKkg(LU5 +zhz+NDNGxr_`R=ydym_m6`RMs{q`NSPkDU)S%TXRS65m8k;HIUfCM74cdLndz_mm^o +z#k$DL?QPxN-JP9`*L?l@>e2I=NS8K{&z4!B-WTsCycz$tJL|G>1>Pnlbe{_OY>{gd +z5PXVp@3yquymkHYV-@!0Y0O?%K&9e4&ZC;h%WlMj?<wjbHh9>8dTd>AwHgfRD{o`k +zfuf+DeXqN#^X@%?mo-&QhDMF1a{*M;J9YGkZP;+9UYrQsQVw0t%bfV&d(4MnmfPf@ +zDH$1=nVH!c*%=wx+1bmo-WU1Wp4Ue6jHQAlP6Zngx+jrYjvi7fK6iL2DXB2-+EUKT +z8!I^R!S|HVXtfsz3a9J;s^)>bC`Pltu@N$!Bk_5zS>Sx7N@h_;H5QNMd(j6zlvjE; +zn4=!t93sQSx+RTFXvgDvnJYfGp_`I~yllf0&ezM<WjZvjqwMvcSSeOJb#u_6!%H!y +zB}g<E&Y%7I^r>UE#OEQiFrLWE8*Q=i?AcF_ynK7~Iix>{hdve(bmafeug{<R`XuAA +zdY*~`;Mp>Zg2(DTcql@a1q>P&KzJcfZYRC-)v04&a%N#Xccbn+N8-a0pFOiU)Kd)X +zL4+}GwyhHQOj^9yvwHA7c0Q3=5W2`L9J;KVy}`ihBVm}205dDiCm?Wkoa<aor0G;q +z6d*RZUd9S3Mm2<n3*QTay7i=C&>XwDB2=1A=i_4x2nY-ejE#+pQ}~4Mab`hmC>7rT +zx)*&@RL+DP1jBU9CKUZnN(U{Y&T}R{sHY4Y0|(uedX;nWVYmkE_T#iOpc%raIn;x7 +z*|@IOZEtTKXZ;3oDjS@NhOdL~iO@wo+COv=BJJ%x<C6hBP`PZzlA1ypfzbUAQSrIr +ziJ5rUI3++Alp$WQ#eJ44c+Xu6Qt<Wkc$;sssFZ@A-hu16;Jpxd%=aqB+#wViZkHLW +z0u%(k0ioO1!v$%FcjBWTwAsw}pA4;o)x&h7!~1-EYaHt$KD_$vXu`O_>+JM$eAtCV +z75}4yj(zWb4^MUPVj;+Wh*zJXV34D#!Xlr*>*~@BA6K=RHUXg?7OA>By6)a>Q85c2 +zC!G-_HWy?*VO-3_mubYl_|R}cAz+`PUPmY7(-I#5#qu{>mqS;~#NXGBeu{vKaXGW_ +zD$sQ;@d5C*g4e}se9ZS)OMJ*NnGc2YA+a!C^JC^4!&jtUaVR4PiZwLk<-2!bTr~W$ +z`W0Vf45#xYLr;&g1bOe~P0&4Bjb*AaobXk@6?Xu!1c}g9mLS20;^tLfWDMsc$`NaP +zSc1F(^&YL(9N!e79^_N-inXPmo(!D$T6lf=(WBq4UR^Bd$8P~ag`tVQ=TQynJ!b0` +z7l&xd|B#`VDY3zHz+0m&K4j>0+<R$;dTiV^Yl_0Ore6@_iO_|5MMb&V;`1YYGph&r +zii?Yjii!#`xl{RV4HfP`{9E9F%}(_I7|Jtvm236GUvAV#5WVk$2L-K6IO-FP(;JAU +zDzU-NXKVR9gCD2sjrO#dCfP&Rj%Sl_v}YQh<FRhNoHI*Np%V|i57@?<h!i-WNPI4M +z4nXfCf<Pp`0enSyxnWie#%R9wJ4)kY!C}sdA!OA+HplD2JdAf<{@FWGh=a#Xrx3yH +z%@sieuqodSmva+VG`(YDWjT5%J`vRUIL-@0p8fvAWNV&NE4RG@Zxq#xCubEnM-8`V +zVq-4uoDCCY<FFfEm9+*HpPSY{R~Lq{8+ggSlSA|SvkXSf<^1BUC3A6Uy<`n@8^49C +ztXwCcjf3$<bV`Z8Kf_HwSh&J4lX6RWEWcPA5yg-PnUr7Yh7JT2PN$VR6$*af0+`Fv +zsr*^MkaDQp37Qax4;FqPZp5oR)%d&(fD+2mRjcxB0V`=|5m0<$xLQ$>eZ2Epz<L&+ +zix^COx!J#w@A+Ua>>;uiVczD2E064wL}5kVr~*bt$M<UTi@Y+*js#Ewo}O1WMslzh +zj^STgg%;&$mk;t4iYc!b#2LXQ5f~VNxs2DQg@t_it2n`E5|HJCdVZ@oLyti3|Kmdd +zRj7<@A({l_u}!Q>!p<n?y)e}n+8{)^g@_G{vf83O3uElCuZqLeTGY=`8sJNV+F5$G +zSsj01P}8M>9(-6#7}`g@xK~dmP3s5kinMjte1NeKzgjMxQT*j1Jr97^&`ZoMwOraO +zi!hoS)%qDwvxQ$j#@F4~3cOa}|AzvoVXtkk*iq;69{!wJ&F<R#tn|p@wIz|hf1v>K +zp*LtDMV3|6?Oc+Vhpz*BYJdNo@)t|~JD$(w=_n7|11mSzRp4i9k=XxU#m?H@=x;(l +zdGGF>+`ovvR8dt{iT?NK&#eU@`hVc<<x2mr+}|qtoMB0-EzHlrXTxAckz4!q%lq{! +zs%m%OnE5y+x^hPi&aW?4`jy<@&;1?S_kc|_{@Gf<=9;1cJV)aZMp?9!R!|;AQaSCR +zYT8b_DIU)?*iuLN*q`p<{XD%6!#nrjo!jw_3cMqeKB65|Cf-kM0~~|q)V6L*(mb(A +z7m$v>Z}#VxFaLKY7E{j>{j=fa%YS_L^5s9TW3Bv8L{Dm*@Bio;(ZauBdxLXZ^i})< +z?=aEBUgx&*Z-_d+!UXY;JIiXz#C7<$o%$_Xi2kRAC~z(Q%FKV^NB*UXZrI2B>BjFd +h=Y>|w|C6Zk68;X)R-AjChtJK+<qqA3JjSNqzW{|XuQ>n! + +literal 6932 +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 + +-- +2.39.5 + diff --git a/config/module/u-boot/x86_64/patches/0006-i-made-it-purple.patch b/config/module/u-boot/x86_64/patches/0006-i-made-it-purple.patch new file mode 100644 index 00000000..594a1b35 --- /dev/null +++ b/config/module/u-boot/x86_64/patches/0006-i-made-it-purple.patch @@ -0,0 +1,33 @@ +From 9c1ceb5a5b302275da146149001f4210a1d7fc86 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Wed, 4 Dec 2024 20:13:42 +0000 +Subject: [PATCH 1/1] i made it purple + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + boot/expo.c | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/boot/expo.c b/boot/expo.c +index ed01483f1d..04726d1c9a 100644 +--- a/boot/expo.c ++++ b/boot/expo.c +@@ -189,13 +189,10 @@ int expo_render(struct expo *exp) + struct udevice *dev = exp->display; + struct video_priv *vid_priv = dev_get_uclass_priv(dev); + struct scene *scn = NULL; +- enum colour_idx back; +- u32 colour; + int ret; + +- back = CONFIG_IS_ENABLED(SYS_WHITE_ON_BLACK) ? VID_BLACK : VID_WHITE; +- colour = video_index_to_colour(vid_priv, back); +- ret = video_fill(dev, colour); ++ /* sexy libreboot purple background */ ++ ret = video_fill(dev, 0x280b22); /* #280b22 in HTML RGB notation */ + if (ret) + return log_msg_ret("fill", ret); + +-- +2.39.5 + diff --git a/config/module/u-boot/x86_64/patches/0008-scripts-dtc-pylibfdt-libfdt.i_shipped-Use-SWIG_Appen.patch b/config/module/u-boot/x86_64/patches/0008-scripts-dtc-pylibfdt-libfdt.i_shipped-Use-SWIG_Appen.patch new file mode 100644 index 00000000..905b311c --- /dev/null +++ b/config/module/u-boot/x86_64/patches/0008-scripts-dtc-pylibfdt-libfdt.i_shipped-Use-SWIG_Appen.patch @@ -0,0 +1,61 @@ +From 3c61a3257ad5799202cac64020d3b4af21b72de3 Mon Sep 17 00:00:00 2001 +From: Markus Volk <f_l_k@t-online.de> +Date: Wed, 30 Oct 2024 06:07:16 +0100 +Subject: [PATCH 1/1] scripts/dtc/pylibfdt/libfdt.i_shipped: Use + SWIG_AppendOutput +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Swig has changed language specific AppendOutput functions. The helper +macro SWIG_AppendOutput remains unchanged. Use that instead +of SWIG_Python_AppendOutput, which would require an extra parameter +since swig 4.3.0. + +/home/flk/poky/build-test/tmp/work/qemux86_64-poky-linux/u-boot/2024.10/git/arch/x86/cpu/u-boot-64.lds +| scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’: +| scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’ +| 5581 | resultobj = SWIG_Python_AppendOutput(resultobj, val); +| | ^~~~~~~~~~~~~~~~~~~~~~~~ + +Signed-off-by: Markus Volk <f_l_k@t-online.de> +Reported-by: Rudi Heitbaum <rudi@heitbaum.com> +Link: https://github.com/dgibson/dtc/pull/154 +--- + scripts/dtc/pylibfdt/libfdt.i_shipped | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped +index 56cc5d48f4..e4659489a9 100644 +--- a/scripts/dtc/pylibfdt/libfdt.i_shipped ++++ b/scripts/dtc/pylibfdt/libfdt.i_shipped +@@ -1037,7 +1037,7 @@ typedef uint32_t fdt32_t; + fdt_string(fdt1, fdt32_to_cpu($1->nameoff))); + buff = PyByteArray_FromStringAndSize( + (const char *)($1 + 1), fdt32_to_cpu($1->len)); +- resultobj = SWIG_Python_AppendOutput(resultobj, buff); ++ resultobj = SWIG_AppendOutput(resultobj, buff); + } + } + +@@ -1076,7 +1076,7 @@ typedef uint32_t fdt32_t; + + %typemap(argout) int *depth { + PyObject *val = Py_BuildValue("i", *arg$argnum); +- resultobj = SWIG_Python_AppendOutput(resultobj, val); ++ resultobj = SWIG_AppendOutput(resultobj, val); + } + + %apply int *depth { int *depth }; +@@ -1092,7 +1092,7 @@ typedef uint32_t fdt32_t; + if (PyTuple_GET_SIZE(resultobj) == 0) + resultobj = val; + else +- resultobj = SWIG_Python_AppendOutput(resultobj, val); ++ resultobj = SWIG_AppendOutput(resultobj, val); + } + } + +-- +2.39.5 + diff --git a/config/module/u-boot/x86_64/patches/0009-u-boot-fix-build-error-on-newer-hostcc.patch b/config/module/u-boot/x86_64/patches/0009-u-boot-fix-build-error-on-newer-hostcc.patch new file mode 100644 index 00000000..50b9ca0b --- /dev/null +++ b/config/module/u-boot/x86_64/patches/0009-u-boot-fix-build-error-on-newer-hostcc.patch @@ -0,0 +1,50 @@ +From 9408a39adcc458b6af7e11f9a4780296e2aa480a Mon Sep 17 00:00:00 2001 +From: Leah Rowe <leah@libreboot.org> +Date: Wed, 1 Apr 2026 07:39:07 +0100 +Subject: [PATCH 1/1] u-boot: fix build error on newer hostcc + +because... they changed a flag. + +because they're gnu. this fixes building +u-boot x86 on arch linux. + +Signed-off-by: Leah Rowe <leah@libreboot.org> +--- + arch/sandbox/config.mk | 4 ++-- + arch/x86/config.mk | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/arch/sandbox/config.mk b/arch/sandbox/config.mk +index 405843800e9..2ee59817252 100644 +--- a/arch/sandbox/config.mk ++++ b/arch/sandbox/config.mk +@@ -46,10 +46,10 @@ cmd_u-boot-spl = (cd $(obj) && $(CC) -o $(SPL_BIN) -Wl,-T u-boot-spl.lds \ + + ifeq ($(HOST_ARCH),$(HOST_ARCH_X86_64)) + EFI_LDS := ${SRCDIR}/../../../arch/x86/lib/elf_x86_64_efi.lds +-EFI_TARGET := --target=efi-app-x86_64 ++EFI_TARGET := --output-target=efi-app-x86_64 + else ifeq ($(HOST_ARCH),$(HOST_ARCH_X86)) + EFI_LDS := ${SRCDIR}/../../../arch/x86/lib/elf_ia32_efi.lds +-EFI_TARGET := --target=efi-app-ia32 ++EFI_TARGET := --output-target=efi-app-ia32 + else ifeq ($(HOST_ARCH),$(HOST_ARCH_AARCH64)) + EFI_LDS := ${SRCDIR}/../../../arch/arm/lib/elf_aarch64_efi.lds + OBJCOPYFLAGS += -j .text -j .secure_text -j .secure_data -j .rodata -j .data \ +diff --git a/arch/x86/config.mk b/arch/x86/config.mk +index 2e3a7119e79..329632164f7 100644 +--- a/arch/x86/config.mk ++++ b/arch/x86/config.mk +@@ -127,7 +127,7 @@ endif + endif + + ifdef CONFIG_X86_64 +-EFI_TARGET := --target=efi-app-x86_64 ++EFI_TARGET := --output-target=efi-app-x86_64 + else +-EFI_TARGET := --target=efi-app-ia32 ++EFI_TARGET := --output-target=efi-app-ia32 + endif +-- +2.47.3 + diff --git a/config/module/u-boot/x86_64/patches/0010-absolutely-disable-Werror-at-all-times.patch b/config/module/u-boot/x86_64/patches/0010-absolutely-disable-Werror-at-all-times.patch new file mode 100644 index 00000000..d592ee43 --- /dev/null +++ b/config/module/u-boot/x86_64/patches/0010-absolutely-disable-Werror-at-all-times.patch @@ -0,0 +1,115 @@ +From b737ede5bfdcf21ffbdafa64bbb217d7402a4015 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <leah@libreboot.org> +Date: Mon, 21 Sep 2026 12:37:46 +0100 +Subject: [PATCH 1/1] absolutely disable -Werror at all times + +Signed-off-by: Leah Rowe <leah@libreboot.org> +--- + Makefile | 3 --- + scripts/Kbuild.include | 6 +++--- + scripts/Kconfig.include | 2 +- + scripts/gcc-stack-usage.sh | 2 +- + scripts/kernel-doc | 4 ---- + tools/buildman/builderthread.py | 3 --- + 6 files changed, 5 insertions(+), 15 deletions(-) + +diff --git a/Makefile b/Makefile +index 34dd029d0cd..47cdb8663f4 100644 +--- a/Makefile ++++ b/Makefile +@@ -809,9 +809,6 @@ endif + # Use make W=1 to enable them (see scripts/Makefile.extrawarn) + KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable) + +-# Prohibit date/time macros, which would make the build non-deterministic +-KBUILD_CFLAGS += $(call cc-option,-Werror=date-time) +- + include scripts/Makefile.extrawarn + + # Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments +diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include +index 62e0207f91b..2a1bad235ab 100644 +--- a/scripts/Kbuild.include ++++ b/scripts/Kbuild.include +@@ -113,7 +113,7 @@ as-instr = $(call try-run,\ + # __cc-option + # Usage: MY_CFLAGS += $(call __cc-option,$(CC),$(MY_CFLAGS),-march=winchip-c6,-march=i586) + __cc-option = $(call try-run,\ +- $(1) -Werror $(2) $(3) -c -x c /dev/null -o "$$TMP",$(3),$(4)) ++ $(1) $(2) $(3) -c -x c /dev/null -o "$$TMP",$(3),$(4)) + + # cc-option + # Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586) +@@ -128,12 +128,12 @@ hostcc-option = $(call __cc-option, $(HOSTCC),\ + # cc-option-yn + # Usage: flag := $(call cc-option-yn,-march=winchip-c6) + cc-option-yn = $(call try-run,\ +- $(CC) -Werror $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n) ++ $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n) + + # cc-disable-warning + # Usage: cflags-y += $(call cc-disable-warning,unused-but-set-variable) + cc-disable-warning = $(call try-run,\ +- $(CC) -Werror $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1))) ++ $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1))) + + # cc-name + # Expands to either gcc or clang +diff --git a/scripts/Kconfig.include b/scripts/Kconfig.include +index b7598ca5d9f..2cda1340e3c 100644 +--- a/scripts/Kconfig.include ++++ b/scripts/Kconfig.include +@@ -20,7 +20,7 @@ success = $(if-success,$(1),y,n) + + # $(cc-option,<flag>) + # Return y if the compiler supports <flag>, n otherwise +-cc-option = $(success,$(CC) -Werror $(1) -E -x c /dev/null -o /dev/null) ++cc-option = $(success,$(CC) $(1) -E -x c /dev/null -o /dev/null) + + # $(cc-define,<macro>) + # Return y if the compiler defines <macro>, n otherwise +diff --git a/scripts/gcc-stack-usage.sh b/scripts/gcc-stack-usage.sh +index 3db32e35f68..4802165405f 100755 +--- a/scripts/gcc-stack-usage.sh ++++ b/scripts/gcc-stack-usage.sh +@@ -6,7 +6,7 @@ + + TMP="$$" + +-cat <<END | $@ -Werror -fstack-usage -x c - -c -o $TMP >/dev/null 2>&1 \ ++cat <<END | $@ -fstack-usage -x c - -c -o $TMP >/dev/null 2>&1 \ + && echo "y" + int main(void) + { +diff --git a/scripts/kernel-doc b/scripts/kernel-doc +index 6dda8cb51f2..a363acb03ef 100755 +--- a/scripts/kernel-doc ++++ b/scripts/kernel-doc +@@ -329,10 +329,6 @@ if (defined($ENV{'KBUILD_VERBOSE'})) { + $verbose = "$ENV{'KBUILD_VERBOSE'}"; + } + +-if (defined($ENV{'KDOC_WERROR'})) { +- $Werror = "$ENV{'KDOC_WERROR'}"; +-} +- + if (defined($ENV{'KCFLAGS'})) { + my $kcflags = "$ENV{'KCFLAGS'}"; + +diff --git a/tools/buildman/builderthread.py b/tools/buildman/builderthread.py +index bbe2f6f0d24..c8070a7737a 100644 +--- a/tools/buildman/builderthread.py ++++ b/tools/buildman/builderthread.py +@@ -226,9 +226,6 @@ class BuilderThread(threading.Thread): + args.append('-s') + if self.builder.num_jobs is not None: + args.extend(['-j', str(self.builder.num_jobs)]) +- if self.builder.warnings_as_errors: +- args.append('KCFLAGS=-Werror') +- args.append('HOSTCFLAGS=-Werror') + if self.builder.allow_missing: + args.append('BINMAN_ALLOW_MISSING=1') + if self.builder.no_lto: +-- +2.47.3 + diff --git a/config/module/u-boot/x86_64/target.cfg b/config/module/u-boot/x86_64/target.cfg new file mode 100644 index 00000000..b9732813 --- /dev/null +++ b/config/module/u-boot/x86_64/target.cfg @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +rev="f919c3a889f0ec7d63a48b5d0ed064386b0980bd" # v2024.10 + +tree="x86_64" |
