mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-26 13:03:40 +00:00
95168d77d3
This adds the remaining code bits to teach U-Boot about Allwinner's newest SoC generation. This was introduced with the RISC-V based Allwinner D1 SoC, which actually shares a die with the ARM cores versions called R528 (BGA, without DRAM) and T113s (QFP, with embedded DRAM). This adds the new Kconfig stanza, using the two newly introduced symbols for the new SoC generation and pincontroller. It also adds the new symbols to the relavent code places, to set all the hardcoded bits directly. We need one DT override: The ARM core version of the DT specifies the CPUX watchdog as "reserved", which means it won't be recognised by U-Boot. Override this in our generic sunxi-u-boot.dtsi, to let U-Boot pick up this watchdog, so that the generic reset driver will work. Signed-off-by: Andre Przywara <andre.przywara@arm.com>
123 lines
2.1 KiB
Text
123 lines
2.1 KiB
Text
#include <config.h>
|
|
|
|
#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 = <CONFIG_TEXT_BASE>;
|
|
|
|
u-boot-nodtb {
|
|
};
|
|
};
|
|
|
|
atf {
|
|
description = "ARM Trusted Firmware";
|
|
type = "firmware";
|
|
os = "arm-trusted-firmware";
|
|
arch = "arm64";
|
|
compression = "none";
|
|
load = <BL31_ADDR>;
|
|
entry = <BL31_ADDR>;
|
|
|
|
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_ADDR>;
|
|
|
|
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
|
|
};
|
|
};
|