summaryrefslogtreecommitdiff
path: root/arch/arm/dts/sunxi-u-boot.dtsi
blob: e1a9a7f5d4cef9680336618c385d33546633248c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#include <config.h>

#ifdef CONFIG_ARM64
#define ARCH "arm64"
#else
#define ARCH "arm"
#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_SPL_LOAD_FIT
		fit {
			description = "Configuration to load U-Boot and firmware";
			#address-cells = <1>;
			fit,fdt-list = "of-list";

			images {
				uboot {
					description = "U-Boot";
					type = "standalone";
					os = "u-boot";
					arch = ARCH;
					compression = "none";
					load = <CONFIG_TEXT_BASE>;
#if CONFIG_SUNXI_BL31_BASE == 0
					entry = <CONFIG_TEXT_BASE>;
#endif

					u-boot-nodtb {
					};
				};

#if CONFIG_SUNXI_BL31_BASE
				atf {
					description = "ARM Trusted Firmware";
					type = "firmware";
					os = "arm-trusted-firmware";
					arch = ARCH;
					compression = "none";
					load = <CONFIG_SUNXI_BL31_BASE>;
					entry = <CONFIG_SUNXI_BL31_BASE>;

					atf-bl31 {
						filename = "bl31.bin";
						missing-msg = "atf-bl31-sunxi";
					};
				};
#endif

#if CONFIG_SUNXI_SCP_BASE
				scp {
					description = "SCP firmware";
					type = "firmware";
					arch = "or1k";
					compression = "none";
					load = <CONFIG_SUNXI_SCP_BASE>;

					scp {
						filename = "scp.bin";
						missing-msg = "scp-sunxi";
						optional;
					};
				};
#endif

				@fdt-SEQ {
					description = "NAME";
					type = "flat_dt";
					compression = "none";
				};
			};

			configurations {
				default = "@config-DEFAULT-SEQ";

				@config-SEQ {
					description = "NAME";
#if CONFIG_SUNXI_BL31_BASE
					firmware = "atf";
#else
					firmware = "uboot";
#endif
#if CONFIG_SUNXI_SCP_BASE
					loadables = "scp", "uboot";
#else
					loadables = "uboot";
#endif
					fdt = "fdt-SEQ";
				};
			};
		};
#else
		u-boot-img {
		};
#endif
	};
};