summaryrefslogtreecommitdiffstats
path: root/common/boards/qemu-virt/overlay-of-flash.dts
blob: a271a455105f9c431c8a59638d2ab6afdb6666ce (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
/dts-v1/;
/plugin/;

#ifdef RISCV_VIRT
#define PARTS_TARGET_PATH	"/soc/flash@20000000"
#define ENV_DEVICE_PATH		"/soc/flash@20000000/partitions/partition@3c00000"
#else
#define PARTS_TARGET_PATH	"/flash@0"
#define ENV_DEVICE_PATH		"/flash@0/partitions/partition@3c00000"
#endif

/ {
	fragment@0 {
		target-path = PARTS_TARGET_PATH;
		__overlay__ {
			partitions {
				compatible = "fixed-partitions";
				#address-cells = <1>;
				#size-cells = <1>;

				partition@0 {
					label = "initramfs";
					reg = <0x0 0x3c00000>;
				};

				environment_flash: partition@3c00000 {
					label = "barebox-environment";
					reg = <0x3c00000 0x200000>;
				};

				backend_state_flash: partition@3e00000 {
					label = "barebox-state";
					reg = <0x3e00000 0x200000>;
				};
			};
		};
	};
	fragment@1 {
		target-path="/";
		__overlay__ {
			chosen {
				environment {
					compatible = "barebox,environment";
					device-path = ENV_DEVICE_PATH;
				};
			};
			aliases {
				state = "/state";
			};

			state {
				#address-cells = <1>;
				#size-cells = <1>;
				compatible = "barebox,state";
				magic = <0x290cf8c6>;
				backend-type = "raw";
				backend = < &backend_state_flash >;
				backend-stridesize = <0x200>;

				bootstate {
					#address-cells = <1>;
					#size-cells = <1>;

					system0 {
						#address-cells = <1>;
						#size-cells = <1>;

						remaining_attempts@0 {
							reg = <0x0 0x4>;
							type = "uint32";
							default = <3>;
						};

						priority@4 {
							reg = <0x4 0x4>;
							type = "uint32";
							default = <20>;
						};
					};

					system1 {
						#address-cells = <1>;
						#size-cells = <1>;

						remaining_attempts@8 {
							reg = <0x8 0x4>;
							type = "uint32";
							default = <3>;
						};

						priority@c {
							reg = <0xc 0x4>;
							type = "uint32";
							default = <21>;
						};
					};

					last_chosen@10 {
						reg = <0x10 0x4>;
						type = "uint32";
					};
				};
			};
		};
	};
};