mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Moritz Augsburger <ml+barebox@moritz.augsburger.name>
Cc: "barebox@lists.infradead.org" <barebox@lists.infradead.org>
Subject: Re: state/bootchoser and sdhci/sdhost switchover
Date: Fri, 26 Apr 2019 08:27:55 +0200	[thread overview]
Message-ID: <20190426062755.mp47wray2bumxjqv@pengutronix.de> (raw)
In-Reply-To: <f3826771-06e5-faf2-978a-28feb453fd3e@augsburger.name>

On Thu, Apr 25, 2019 at 08:46:13PM +0200, Moritz Augsburger wrote:
> Hey,
> 
> I'm a bit clueless about using bootchooser/state (together with rauc) on
> raspberry pi.
> 
> Inside barebox itself, everything works fine. I defined a state backend
> inside the dt, and I can set/update/read values:
> 
>     state: state {
>         magic = <0x4d433230>;
>         compatible = "barebox,state";
>         backend-type = "raw";
>         backend = <&backend_state_sd>;
>         backend-storage-type = "circular";
>         backend-stridesize = <0x800>;
> [...]
>     };
> &sdhci { // extended the original entry
>         pinctrl-0 = <&emmc_gpio48>;
>         no-sd;
>         non-removable;
>         status = "okay";
>         partitions {
>                 compatible = "fixed-partitions";
>                 #size-cells = <1>;
>                 #address-cells = <1>;
>                 backend_state_sd: part@200000 {
>                         label = "state_sd";
>                         reg = <0x200000 0x200000>;
>                 };
>         };
> };
> 
> Linux uses &sdhost, barebox switched to &sdhci in
> ed5d970c16d14aa24edc20b8a096f230a398f7be as it has no driver for the sdhost
> interface. barebox-state doesn't find the storage, as expected:
> 
> # barebox-state
> of_get_devicepath: cannot find device from node /soc/mmc@7e300000
> state: state failed to parse path to backend: No such device
> unable to initialize state: Unknown error -19
> 
> I would need some way to switch the backend for the state variable to the
> sdhost interface when it is copied into the device tree used for booting -
> or any other good proposal how to deal with the problem.

How about porting the sdhost driver from U-Boot to barebox? This is
probably not what you wanted to hear, but I think porting the driver
mainly requires changing the boilerplate code which shouldn't be too
much effort.

The other solutions I can think of are crude hacks, like sneaking in
the correct device node by adjusting state->of_path in the state code.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

      reply	other threads:[~2019-04-26  6:28 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-25 18:46 Moritz Augsburger
2019-04-26  6:27 ` Sascha Hauer [this message]

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=20190426062755.mp47wray2bumxjqv@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    --cc=ml+barebox@moritz.augsburger.name \
    /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