On Fri, Apr 11, 2025 at 09:40:43AM +0200, Ahmad Fatoum wrote: > From: Chris Fiege <c...@pengutronix.de> > > This host-tooling creates binaries in the Barebox TLV format. > It is intended to be used in the factory (either as script or library) > and creates a tlv binary from a given schema and data. > > For convenience an example schema and dataset are provided. > > diff --git a/scripts/bareboxtlv-generator/requirements.txt > b/scripts/bareboxtlv-generator/requirements.txt > new file mode 100644 > index 000000000000..a1f7e3b3f2a3 > --- /dev/null > +++ b/scripts/bareboxtlv-generator/requirements.txt > @@ -0,0 +1,2 @@ > +crcmod > +pyaml > diff --git a/scripts/bareboxtlv-generator/schema-example.yaml > b/scripts/bareboxtlv-generator/schema-example.yaml > new file mode 100644 > index 000000000000..4927b869513d > --- /dev/null > +++ b/scripts/bareboxtlv-generator/schema-example.yaml > @@ -0,0 +1,48 @@ > +magic: 0xc6895c21 > +max_size: 0x100
The first thing I tried with this was according to the user documentation: ./bareboxtlv-generator.py --input-data data-example.yaml schema-example.yaml tlv.bin And fed that into the barebox tlv command. I ended up with an empty node because the magic doesn't match. Can we change the magic to TLV_MAGIC_BAREBOX_V1 in the example and only add things here that are supposed to be generic? That would make the example more useful as a starting point. > + > +tags: > + factory-timestamp: > + tag: 0x0003 > + format: "decimal" > + length: 8 > + example: 1636451762 > + > + modification: > + tag: 0x0005 > + format: decimal > + length: 1 > + example: 42 > + purpose: "0: Device unmodified; 1: Device has undocumented modifications" 0 is unmodified, 1 is modified and 42 is what? ;) Sascha -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |