State Framework and dtb

Çağlar Kilimci ckilimci at gmail.com
Mon Apr 3 13:59:50 PDT 2017


Hello,

2017-03-31 16:00 GMT+03:00 Sascha Hauer <s.hauer at pengutronix.de>:
> On Fri, Mar 31, 2017 at 02:41:19PM +0300, Çağlar Kilimci wrote:
>> Hey,
>>
>>
>> I tried but got the same result and then I would like to apply your
>> serious patch series of the state framework but release that our
>> working branch is 2016.07 so could not apply patches. Let me update
>> barebox and apply those patches. Are those based on master branch
>> right?  Or, which branch do you recommend to work on?
>
> The patches are based on master, yes. Anyway, you seem to have a problem
> in getting your changes in the dts file to the running barebox. Please
> try to add some nodes/properties to your dts file and verify that a
> of_dump shows these nodes. Before that is the case it's not worth to
> look any further.

Finally, I updated and patched the code and now I can see state at 0
device in the of_dump:
        state at 0 {
                magic = <0x27031977>;
                compatible = "barebox,state";
                backend-type = "raw";
                backend = <0x42>;
                foo {
                        reg = <0x0 0x4>;
                        type = "uint32";
                        default = <0x0>;
                };
                bar {
                        reg = <0x10 0x4>;
                        type = "enum32";
                        names = "baz", "qux";
                        default = <0x1>;
                };
        };
I can see in the eeprom section, too:
barebox at Phytec phyCORE AM335x:/ of_dump i2c0
i2c at 44e0b000 {
        compatible = "ti,omap4-i2c";
        #address-cells = <0x1>;
        #size-cells = <0x0>;
        ti,hwmods = "i2c1";
        reg = <0x44e0b000 0x1000>;
        interrupts = <0x46>;
        status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <0x2c>;
        clock-frequency = <0x61a80>;
        eeprom at 52 {
                status = "okay";
                compatible = "atmel,24c32";
                pagesize = <0x20>;
                reg = <0x52>;
                state at 1000 {
                        label = "state";
                        reg = <0x1000 0x1000>;
                        linux,phandle = <0x42>;
                        phandle = <0x42>;
                };
        };
};

But still state command does not show any state device:
barebox at Phytec phyCORE AM335x:/ state
registered state instances:

Here is my diff for the dts:
diff --git a/arch/arm/dts/am335x-phytec-phycore-som.dtsi
b/arch/arm/dts/am335x-phytec-phycore-som.dtsi
index 0b8c454..0d71e8b 100644
--- a/arch/arm/dts/am335x-phytec-phycore-som.dtsi
+++ b/arch/arm/dts/am335x-phytec-phycore-som.dtsi
@@ -14,6 +14,26 @@
                        status = "disabled";
                };
        };
+
+       state: state at 0 {
+               magic = <0x27031977>;
+               compatible = "barebox,state";
+               backend-type = "raw";
+               backend = <&state_part>;
+
+               foo {
+                     reg = <0x00 0x4>;
+                     type = "uint32";
+                     default = <0x0>;
+               };
+
+               bar {
+                     reg = <0x10 0x4>;
+                     type = "enum32";
+                     names = "baz", "qux";
+                     default = <1>;
+               };
+       };
 };

 &am33xx_pinmux {
@@ -148,6 +168,10 @@
                compatible = "atmel,24c32";
                pagesize = <32>;
                reg = <0x52>;
+               state_part: state at 1000 {
+                       label = "state";
+                       reg = <0x1000 0x1000>;
+               };
        };
 };

So, why does not state framework catch my state device?

Sincerely,
-- 
Çağlar Kilimci



More information about the barebox mailing list