State Framework and dtb
Çağlar Kilimci
ckilimci at gmail.com
Fri Mar 31 00:18:05 PDT 2017
2017-03-31 10:02 GMT+03:00 Sascha Hauer <s.hauer at pengutronix.de>:
> On Fri, Mar 31, 2017 at 09:54:56AM +0300, Çağlar Kilimci wrote:
>> Hello,
>>
>> > I should have never implemented this freeing of the stored device tree.
>> > There are too many pointers in the code to nodes of this tree. Please
>> > do not use this free/load device tree feature for state.
>>
>> Sure, I usually avoid using it. Here I use to test it if it is able to
>> read the dtb or not? Apparently, it "can" read and parse it but at the
>> boot stage, it does not care.
>>
>> > So you edited
>> > the devicetree in the barebox source code, built a new binary with it
>> > and started it. Now when you enter "of_dump /state at 0" you should
>> > see the state node you created. Is that what happens?
>>
>> No, not at all. I could not any sign of state (or state at 0).
>> barebox at Phytec phyCORE AM335x:/ of_dump /state at 0
>> Cannot find nodepath /state at 0
>> of_dump: No such file or directory
>
> Ok, here's your problem. I assume you edited
> arch/arm/dts/am335x-phytec-phycore-som.dts, right? Could you send the
> diff to that file (or to the one you edited)? There must be something
> wrong here.
Actually, I was using arch/arm/boot/dts/am335x-phycore-som.dtsi in the
linux-ti kernel and the diff is:
diff --git a/arch/arm/boot/dts/am335x-phycore-som.dtsi
b/arch/arm/boot/dts/am335x-phycore-som.dtsi
index 58e69f1..d8ae841 100644
--- a/arch/arm/boot/dts/am335x-phycore-som.dtsi
+++ b/arch/arm/boot/dts/am335x-phycore-som.dtsi
@@ -43,6 +43,27 @@
regulator-always-on;
};
};
+
+ state: state at 0 {
+ magic = <0x27031993>;
+ compatible = "barebox,state";
+ backend-type = "dtb";
+ backend = <&state_partition>;
+
+ foo {
+ reg = <0x00 0x4>;
+ type = "uint32";
+ default = <0x0>;
+ };
+
+ bar {
+ reg = <0x10 0x4>;
+ type = "enum32";
+ names = "baz", "qux";
+ default = <1>;
+ };
+ };
+
};
/* Crypto Module */
@@ -131,6 +152,9 @@
pagesize = <32>;
reg = <0x52>;
status = "disabled";
+ state_partition: partition at 1000 {
+ reg = <0x1000 0x2000>;
+ };
};
i2c_rtc: rtc at 68 {
Let me edit "arch/arm/dts/am335x-phytec-phycore-som.dts" and try it.
--
Çağlar Kilimci
More information about the barebox
mailing list