Re: barebox state is not fixed up into kernel-device-tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Patrick Boettcher <patrick.boettcher@xxxxxxxxx> writes:
> On Mon, 05 Nov 2018 09:28:53 +0100
> Ulrich Ölmann <u.oelmann@xxxxxxxxxxxxxx> wrote:
>> Patrick Boettcher <patrick.boettcher@xxxxxxxxx> writes:
>> > I'm using a device-state (for bootchooser) which is stored in an
>> > eeprom.
>> >
>> > Works fine from within barebox - read and write.
>> >
>> > Userspace does not see the state:
>> >
>> >   Neither /aliases/state nor /state found
>> >
>> > The displayed device-tree when booting with 'boot -v -v <name>' does
>> > not contain the state-entry.
>> >
>> > However, there is a warning of a failed fixup:
>> >
>> >   Failed to fixup node in of_state_fixup+0x1/0x1ac: No such device
>> >
>> > Could it be that the eeprom-alias is missing? I'm still learning
>> > device-tree and stuff and I'm not yet entirely sure how everything
>> > is related.
>> >
>> > The partition is created within a
>> >
>> >   &eeprom {
>> >      [..]
>> >   }
>> >
>> > section and eeprom is defined as
>> >
>> >   eeprom: eeprom@52 {
>> >
>> >   }
>> >
>> > (I added the 'eeprom: '- name/alias)
>> >
>> > Where am I missing the link?
>>
>> there was a patch recently that fixed a bug in the context of
>> partition fixups and as a result repaired the state fixup as well for
>> some setups:
>>
>>   http://lists.infradead.org/pipermail/barebox/2018-October/035091.html
>>
>> Please check if it solves your problem. If not then please provide
>> more insight into your devicetrees (barebox & kernel) and post a
>> little bit more context of the state node as well as the eeprom and
>> the aliases nodes.
>
> I investigated further (still doing right now). In my kernel device-tree
> the eeprom does not have the partition definition. So of_state_fixup()
> does not find it (I added some debug prints to analyze):
>
>    of_find_node_by_path_from:
>        /soc/aips-bus@02100000/i2c@021a0000/eeprom@52/partitions/state@0
>        not found
>
> I wrongly assumed from mails I found in the archive that barebox is
> fixing up even the partitions.

In my last mail I forgot to ask which version of barebox you are using?
Which version of the Linux kernel are you booting from within barebox?

Best regards
Ulrich

> Does your patch from above will be helpful in my case?
>
> Do I need to change the kernel-device-tree to insert the partitions
> manually? If so, how should it look like if the state-partition in
> barebox is defined like this:
>
>   &eeprom {
> 	status = "okay";
> 	partitions {
> 		compatible = "fixed-partitions";
> 		#size-cells = <1>;
> 		#address-cells = <1>;
> 		backend_update_eeprom: state@0 {
> 			reg = <0x0 0x100>;
> 			label = "barebox-state-eeprom";
> 		};
> 	};
>   };
>
>
> Thanks,


--
Pengutronix e.K.                           | Ulrich Ölmann               |
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@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox




[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux