For testing barebox-state, it would be nice to have a state
pre-configured out-of-the-box. Add one to sandbox.dts.

Because the barebox message on an non-configured state can looks
quite scary, add an init script that tells the user that all
is well.

Signed-off-by: Ahmad Fatoum <[email protected]>
---
v1 -> v2: no changes
---
 arch/sandbox/board/env/init/state           | 12 +++++
 arch/sandbox/dts/sandbox-state-example.dtsi | 50 ---------------------
 arch/sandbox/dts/sandbox.dts                | 35 +++++++++++++++
 3 files changed, 47 insertions(+), 50 deletions(-)
 create mode 100644 arch/sandbox/board/env/init/state
 delete mode 100644 arch/sandbox/dts/sandbox-state-example.dtsi

diff --git a/arch/sandbox/board/env/init/state 
b/arch/sandbox/board/env/init/state
new file mode 100644
index 000000000000..0b8e40409f97
--- /dev/null
+++ b/arch/sandbox/board/env/init/state
@@ -0,0 +1,12 @@
+if [ "x$state.dirty" != "x1" -o $global.system.reset != "POR" ]; then
+    exit
+fi
+
+source /env/data/ansi-colors
+
+echo -e $CYAN
+echo "******************************************************************"
+echo "*** Inconsistent barebox state buckets detected on first boot ***"
+echo "***         barebox will repair them on next shutdown         ***"
+echo "*****************************************************************"
+echo -e -n $NC
diff --git a/arch/sandbox/dts/sandbox-state-example.dtsi 
b/arch/sandbox/dts/sandbox-state-example.dtsi
deleted file mode 100644
index 98640f6677cf..000000000000
--- a/arch/sandbox/dts/sandbox-state-example.dtsi
+++ /dev/null
@@ -1,50 +0,0 @@
-/ {
-       aliases {
-               state = &state;
-       };
-
-       disk {
-               compatible = "barebox,hostfile";
-               barebox,filename = "disk";
-               reg = <0x0 0x0 0x0 0x100000>;
-
-               partitions {
-                       compatible = "fixed-partitions";
-                       #address-cells = <1>;
-                       #size-cells = <1>;
-
-                       hostfile_state: state@0 {
-                               reg = <0x0 0x1000>;
-                               label = "state";
-                       };
-               };
-       };
-
-       state: state {
-               magic = <0xaa3b86a6>;
-               compatible = "barebox,state";
-               backend-type = "raw";
-               backend = <&hostfile_state>;
-               backend-storage-type = "direct";
-               backend-stridesize = <64>;
-
-               #address-cells = <1>;
-               #size-cells = <1>;
-               vars {
-                       #address-cells = <1>;
-                       #size-cells = <1>;
-
-                       x {
-                               reg = <0x0 0x4>;
-                               type = "uint32";
-                               default = <1>;
-                       };
-
-                       y {
-                               reg = <0x4 0x4>;
-                               type = "uint32";
-                               default = <3>;
-                       };
-               };
-       };
-};
diff --git a/arch/sandbox/dts/sandbox.dts b/arch/sandbox/dts/sandbox.dts
index f830adecf796..afe48154c488 100644
--- a/arch/sandbox/dts/sandbox.dts
+++ b/arch/sandbox/dts/sandbox.dts
@@ -9,6 +9,7 @@
 
        aliases {
                bmode = &bmode;
+               state = &state;
        };
 
        chosen {
@@ -23,6 +24,35 @@
                reg = <0 0 0 0>;
        };
 
+       state: state {
+               magic = <0xaa3b86a6>;
+               compatible = "barebox,state";
+               backend-type = "raw";
+               backend = <&part_state>;
+               backend-storage-type = "direct";
+               backend-stridesize = <64>;
+
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               vars {
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       x {
+                               reg = <0x0 0x4>;
+                               type = "uint32";
+                               default = <1>;
+                       };
+
+                       y {
+                               reg = <0x4 0x4>;
+                               type = "uint32";
+                               default = <3>;
+                       };
+               };
+       };
+
        stickypage: stickypage {
                compatible = "barebox,hostfile", "syscon", "simple-mfd";
                reg = <0 0 0 4096>;
@@ -47,6 +77,11 @@
                                reg = <0x400 0x800>;
                                label = "env";
                        };
+
+                       part_state: state@800 {
+                               reg = <0xC00 0x400>;
+                               label = "state";
+                       };
                };
        };
 
-- 
2.28.0


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to