From: Andreas Wilhelm <andreas.wilhelm@emlix.com>
To: barebox@lists.infradead.org
Subject: barebox-state setup
Date: Tue, 2 May 2017 15:24:10 +0200 [thread overview]
Message-ID: <af0065c8-141d-dce0-11bf-1aca9c46d73c@emlix.com> (raw)
Hello,
I am using barebox state to exchange data between barebox and linux. From barebox I can access and change the state without any problems. If I try to access the state using the barebox-state util included with dt-utils (v2017.03.0), I get the following error:
> # barebox-state -g myvar
> of_get_devicepath: no 'label' property found in /soc/aips-bus@02000000/spba-bus@02000000/ecspi@02008000/m25p80@0
> Cannot find backend path in /state
This problem does not occur when using version 2016.08.0 of dt-utils. However, in this version I experienced an other problem. Even with backend-storage-type set to "circular" barebox attempted to storte data in "direct" mode:
> WARNING, no stridesize given although we use a direct file
> write. Starting in degraded mode
> Failed to initialize desired amount of direct buckets, only 1 of 3
> succeeded
Furthermore changing the state from within barebox worked just fine, while changing it using dt-utils from within a booted linux didn't.
The barebox state is stored in NOR-flash and configured in barebox as followed:
> state: state {
> magic = <0x27031977>;
> compatible = "barebox,state";
> backend-type = "raw";
> backend = &flash, "partname:barebox-state";
> backend-storage-type = "circular";
> status = "okay";
>
> myvar {
> reg = <0x00 0x4>;
> type = "enum32";
> names = "N", "Y";
> default = <0>;
> };
> };
> &ecspi1 {
> status = "okay";
>
> flash: m25p80@0 {
> status = "okay";
>
> ...
>
> partition@0 {
> label = "barebox-state";
> reg = <0x0 0x40000>;
> };
>
> ...
> };
> };
Within the linux kernel I use the following configuration:
> state: state {
> magic = <0x27031977>;
> compatible = "barebox,state";
> backend-type = "raw";
> backend = <&statepart>;
> backend-storage-type = "circular";
>
> myvar {
> reg = <0x00 0x4>;
> type = "enum32";
> names = "N", "Y";
> default = <0>;
> };
> };
>
> &ecspi1 {
> ...
>
> flash: m25p80@0 {
> ...
> status = "okay";
>
> statepart: partition@0 {
> label = "barebox-state";
> reg = <0x0 0x40000>;
> };
>
> ...
> };
> };
I am not sure why the call to "device_find_block_device" in dt-utils/src/libdt.c (function of_get_devicepath) does not return a valid mtd device, as it correctly setuip by the kernel.
> # dmesg | grep -i spi
> [ 2.265675] m25p80 spi0.0: found n25q128a13, expected m25p80
> [ 2.271446] m25p80 spi0.0: n25q128a13 (16384 Kbytes)
> [ 2.276593] 2 ofpart partitions found on MTD device spi0.0
> [ 2.282113] Creating 2 MTD partitions on "spi0.0":
> [ 2.312512] spi_imx 2008000.ecspi: probed
> # grep -r mtdblock6 /sys/devices/
> /sys/devices/soc0/soc/2000000.aips-bus/2000000.spba-bus/2008000.ecspi/spi_master/spi0/spi0.0/mtd/mtd6/mtdblock6/uevent:DEVNAME=mtdblock6
Ideas, opinions ?
Best regards
Andreas
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next reply other threads:[~2017-05-02 13:24 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-02 13:24 Andreas Wilhelm [this message]
2017-05-03 12:13 ` Sascha Hauer
2017-05-05 13:52 ` Andreas Wilhelm
2017-05-08 12:18 ` Sascha Hauer
2017-05-09 8:26 ` Andreas Wilhelm
2017-05-22 12:47 ` Andreas Wilhelm
2017-05-23 8:01 ` Sascha Hauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=af0065c8-141d-dce0-11bf-1aca9c46d73c@emlix.com \
--to=andreas.wilhelm@emlix.com \
--cc=barebox@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox