Thank you for the response!
I had a quick look over this patch, I need to find a way to adapt it
for RPi 3, as vmmc-supply , reg_3v3, vqmmc-supply, reg_1v8 are not
configured for rpi 3 (they exist only for CM1 and CM3 as I have seen
in the device tree sources).
I don't know if there are any implications if I use those nodes
similar to CM3 (don't know the differences between 3 and CM3).
Best regards,
Vali.
> Date: Tue, 04 Jun 2019 10:59:23 +0200
> From: Moritz Augsburger <[email protected]>
> To: [email protected]
> Subject: Re: Raspberry Pi Barebox State Integration - SD card
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset=US-ASCII; format=flowed
>
> Hi,
>
> Am 2019-06-04 08:32, schrieb Valentina Rusu:
> > The issue to integrate Barebox state are the following:
> > * we need to specify a backend for the "state" node;
> > * the backend should point to an of partition on a non-volatile memory;
> > * other boards have EEPROM, NAND besides SD card and they are
> > described in the device tree; RPi has no such thing;
> > * somehow I need to write the state on the SD card in a location where
> > does not interfere with the partitions created (boot, rootfs, user
> > partitions, etc);
> > * the SD card device (mci0) is automatically detected at startup, and
> > not described in the device tree;
>
> Below is a part of my patches, using the emmc on a Compute Module as
> state backend.
> It uses the region between MBR and first partition (starting @4MB) to
> save the state.
>
> The patch may contain changes already done to the latest version, so
> apply carefully.
>
> diff --git a/arch/arm/dts/bcm2837-rpi-3.dts
> b/arch/arm/dts/bcm2837-rpi-3.dts
> index 51883613c..420525b9e 100644
> --- a/arch/arm/dts/bcm2837-rpi-3.dts
> +++ b/arch/arm/dts/bcm2837-rpi-3.dts
> @@ -11,10 +11,5 @@
> };
>
> &sdhci {
> - pinctrl-0 = <&emmc_gpio48>;
> - /delete-node/ wifi@1;
> -};
> -
> -&sdhost {
> status = "disabled";
> };
> diff --git a/arch/arm/dts/bcm2837-rpi-cm3.dts
> b/arch/arm/dts/bcm2837-rpi-cm3.dts
> index cfbffe175..d0144dcbc 100644
> --- a/arch/arm/dts/bcm2837-rpi-cm3.dts
> +++ b/arch/arm/dts/bcm2837-rpi-cm3.dts
> @@ -8,11 +8,76 @@
> memory {
> reg = <0x0 0x0>;
> };
> +
> + state: state {
> + magic = <0x4d433230>;
> + compatible = "barebox,state";
> + backend-type = "raw";
> + backend = <&backend_state_sdhost>;
> + backend-storage-type = "circular";
> + backend-stridesize = <0x800>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + bootstate {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + system0 {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + remaining_attempts {
> + reg = <0x0 0x4>;
> + type = "uint32";
> + default = <3>;
> + };
> + priority {
> + reg = <0x4 0x4>;
> + type = "uint32";
> + default = <21>;
> + };
> + };
> +
> + system1 {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + remaining_attempts {
> + reg = <0x10 0x4>;
> + type = "uint32";
> + default = <3>;
> + };
> + priority {
> + reg = <0x14 0x4>;
> + type = "uint32";
> + default = <20>;
> + };
> + };
> + last_chosen {
> + reg = <0x2C 0x4>;
> + type = "uint32";
> + };
> + };
> + };
> +
> + aliases {
> + state = &state;
> + };
> +
> };
>
> -&sdhci {
> - pinctrl-0 = <&emmc_gpio48>;
> - no-sd;
> - non-removable;
> +&sdhost {
> + pinctrl-names = "default";
> + pinctrl-0 = <&sdhost_gpio48>;
> + bus-width = <4>;
> + vmmc-supply = <®_3v3>;
> + vqmmc-supply = <®_1v8>;
> status = "okay";
> + partitions {
> + compatible = "fixed-partitions";
> + #size-cells = <1>;
> + #address-cells = <1>;
> + backend_state_sdhost: part@200000 {
> + label = "state_sdhost";
> + reg = <0x200000 0x200000>;
> + };
> + };
> };
>
>
>
_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox