#include #ifdef CONFIG_MACH_SUN50I_H6 #define BL31_ADDR 0x104000 #define SCP_ADDR 0x114000 #elif defined(CONFIG_MACH_SUN50I_H616) #define BL31_ADDR 0x40000000 #else #define BL31_ADDR 0x44000 #define SCP_ADDR 0x50000 #endif / { aliases { mmc0 = &mmc0; #if CONFIG_MMC_SUNXI_SLOT_EXTRA == 2 mmc1 = &mmc2; #endif }; binman: binman { multiple-images; }; }; /* Let U-Boot be the firmware layer that controls the watchdog. */ #ifdef CONFIG_MACH_SUN8I_R528 &wdt { status = "okay"; }; #endif &binman { u-boot-sunxi-with-spl { filename = "u-boot-sunxi-with-spl.bin"; pad-byte = <0xff>; blob { /* * This value matches SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * and SYS_SPI_U_BOOT_OFFS if those are defined. */ min-size = <0x8000>; filename = "spl/sunxi-spl.bin"; }; #ifdef CONFIG_ARM64 fit { description = "Configuration to load ATF before U-Boot"; #address-cells = <1>; fit,fdt-list = "of-list"; images { uboot { description = "U-Boot (64-bit)"; type = "standalone"; os = "u-boot"; arch = "arm64"; compression = "none"; load = ; u-boot-nodtb { }; }; atf { description = "ARM Trusted Firmware"; type = "firmware"; os = "arm-trusted-firmware"; arch = "arm64"; compression = "none"; load = ; entry = ; atf-bl31 { filename = "bl31.bin"; missing-msg = "atf-bl31-sunxi"; }; }; #ifdef SCP_ADDR scp { description = "SCP firmware"; type = "firmware"; arch = "or1k"; compression = "none"; load = ; scp { filename = "scp.bin"; missing-msg = "scp-sunxi"; }; }; #endif @fdt-SEQ { description = "NAME"; type = "flat_dt"; compression = "none"; }; }; configurations { default = "@config-DEFAULT-SEQ"; @config-SEQ { description = "NAME"; firmware = "atf"; #ifndef SCP_ADDR loadables = "uboot"; #else loadables = "scp", "uboot"; #endif fdt = "fdt-SEQ"; }; }; }; #else u-boot-img { }; #endif }; };