[PATCH v2 10/12] vexpress: add bootstate node to the device tree

Lucas Stach l.stach at pengutronix.de
Thu Oct 12 03:26:56 PDT 2017


From: Michael Olbrich <m.olbrich at pengutronix.de>

Signed-off-by: Michael Olbrich <m.olbrich at pengutronix.de>
Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
---
 arch/arm/dts/vexpress-v2p-ca9.dts | 63 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

diff --git a/arch/arm/dts/vexpress-v2p-ca9.dts b/arch/arm/dts/vexpress-v2p-ca9.dts
index 541840ae22dc..d0975330f205 100644
--- a/arch/arm/dts/vexpress-v2p-ca9.dts
+++ b/arch/arm/dts/vexpress-v2p-ca9.dts
@@ -6,6 +6,10 @@
 		device-path = &barebox_env;
 	};
 
+	aliases {
+		state = &state;
+	};
+
 	smb at 4000000 {
 		motherboard {
 			flash at 0,00000000 {
@@ -21,6 +25,65 @@
 					label = "barebox-environment";
 					reg = <0x80000 0x80000>;
 				};
+
+				state_storage: partition at 100000 {
+					label = "barebox-state";
+					reg = <0x100000 0x100000>;
+				};
+			};
+		};
+	};
+
+	/* State: mutable part */
+	state: state {
+		magic = <0x4d433230>;
+		compatible = "barebox,state";
+		backend-type = "raw";
+		backend = <&state_storage>;
+		backend-stridesize = <0x40>;
+		backend-storage-type = "circular";
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		bootstate {
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			system0 { /* the node's name here must match the subnode's name in the 'bootstate' node */
+				#address-cells = <1>;
+				#size-cells = <1>;
+
+				remaining_attempts at 0 {
+					reg = <0x0 0x4>;
+					type = "uint32";
+					default = <3>;
+				};
+				priority at 4 {
+					reg = <0x4 0x4>;
+					type = "uint32";
+					default = <20>;
+				};
+			};
+
+			system1 { /* the node's name here must match the subnode's name in the 'bootstate' node */
+				#address-cells = <1>;
+				#size-cells = <1>;
+
+				remaining_attempts at 8 {
+					reg = <0x8 0x4>;
+					type = "uint32";
+					default = <3>;
+				};
+				priority at c {
+					reg = <0xC 0x4>;
+					type = "uint32";
+					default = <20>;
+				};
+			};
+
+			last_chosen at 10 {
+				reg = <0x10 0x4>;
+				type = "uint32";
 			};
 		};
 	};
-- 
2.11.0




More information about the barebox mailing list