From: Ahmad Fatoum <a.fatoum@pengutronix.de>
To: barebox@lists.infradead.org
Subject: Re: [PATCH 00/10] Add barebox TLV infrastructure
Date: Tue, 22 Apr 2025 13:40:48 +0200 [thread overview]
Message-ID: <fbb93a0e-a189-4a80-afa5-0e4335c34317@pengutronix.de> (raw)
In-Reply-To: <20250411074045.2019372-1-a.fatoum@pengutronix.de>
Hello Sascha,
Could the first three patches that are applicable on their own be applied?
Thanks,
On 4/11/25 09:40, Ahmad Fatoum wrote:
> barebox TLV is a system to store and retrieve a device's (read-only)
> meta-data from non-volatile memory.
> It is intended to handle information that are usually only set in
> the factory - like serial number, MAC-addresses, analog calibration
> data, etc.
> Data is stored in a tag-length-value format (hence the name) and read
> from non-volatile memory during startup.
>
> Unpacked values are fixed up into the devicetree ``chosen``-node
> for consumption by the operating system.
>
> This system has already been deployed in the field for a couple of years
> now on the LXA TAC. The feature is given a generic name though, because
> it's hoped it will be useful to a more general audience.
>
> Nowadays, this could be implemented as a NVMEM layout in Linux.
> The benefit of doing it in barebox is that, when signing is added
> in the future, we preclude an attacker from showing barebox
> and Linux different content.
>
> Nevertheless, NVMEM layout infrastructure in barebox could be
> useful, but our NVMEM support needs an overhaul to support layouts,
> so fixed-partitions is the only supported binding for now.
>
> Ahmad Fatoum (8):
> net: factor out eth_of_get_fixup_node
> net: export list of registered ethernet addresses
> common: add optional systemd.hostname generation
> common: add barebox TLV support
> commands: add TLV debugging command
> scripts: add bareboxtlv host/target tool
> boards: add decoder for LXA TLV v1 format
> ARM: stm32mp: lxa: enable TLV support for TAC & FairyTux2
>
> Chris Fiege (2):
> scripts: Add Barebox TLV Generator Tooling
> doc: Add User-Documentation for Barebox TLV
>
> .../bindings/nvmem/barebox,tlv.yaml | 60 ++++
> Documentation/user/barebox-tlv.rst | 93 +++++
> Documentation/user/user-manual.rst | 1 +
> arch/arm/boards/lxa-fairytux2/board.c | 8 +
> arch/arm/boards/lxa-tac/board.c | 8 +
> .../dts/stm32mp153c-lxa-fairytux2-gen2.dts | 1 +
> arch/arm/dts/stm32mp153c-lxa-fairytux2.dtsi | 1 +
> arch/arm/dts/stm32mp15xc-lxa-tac.dtsi | 2 +
> arch/arm/mach-stm32mp/Kconfig | 2 +
> commands/Kconfig | 12 +
> commands/Makefile | 1 +
> commands/tlv.c | 55 +++
> common/Kconfig | 34 ++
> common/Makefile | 1 +
> common/boards/Kconfig | 5 +
> common/boards/Makefile | 1 +
> common/boards/lxa/Makefile | 2 +
> common/boards/lxa/factory-data.c | 132 +++++++
> common/bootm.c | 9 +-
> common/tlv/Makefile | 4 +
> common/tlv/barebox.c | 183 ++++++++++
> common/tlv/bus.c | 133 ++++++++
> common/tlv/drv.c | 49 +++
> common/tlv/parser.c | 211 ++++++++++++
> common/tlv/register.c | 94 +++++
> include/net.h | 21 ++
> include/string.h | 7 +
> include/tlv/format.h | 72 ++++
> include/tlv/tlv.h | 99 ++++++
> lib/string.c | 21 ++
> net/eth.c | 40 +--
> scripts/.gitignore | 2 +
> scripts/Makefile | 2 +
> .../bareboxtlv-generator.py | 321 ++++++++++++++++++
> .../bareboxtlv-generator/data-example.yaml | 12 +
> scripts/bareboxtlv-generator/requirements.txt | 2 +
> .../bareboxtlv-generator/schema-example.yaml | 48 +++
> scripts/bareboxtlv-target.c | 1 +
> scripts/bareboxtlv.c | 183 ++++++++++
> scripts/include/asm/unaligned.h | 21 ++
> scripts/include/linux/build_bug.h | 8 +
> scripts/include/linux/stringify.h | 14 +
> test/self/Kconfig | 7 +
> test/self/Makefile | 1 +
> test/self/tlv.c | 89 +++++
> test/self/tlv.dts | 27 ++
> 46 files changed, 2080 insertions(+), 20 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/nvmem/barebox,tlv.yaml
> create mode 100644 Documentation/user/barebox-tlv.rst
> create mode 100644 commands/tlv.c
> create mode 100644 common/boards/lxa/Makefile
> create mode 100644 common/boards/lxa/factory-data.c
> create mode 100644 common/tlv/Makefile
> create mode 100644 common/tlv/barebox.c
> create mode 100644 common/tlv/bus.c
> create mode 100644 common/tlv/drv.c
> create mode 100644 common/tlv/parser.c
> create mode 100644 common/tlv/register.c
> create mode 100644 include/tlv/format.h
> create mode 100644 include/tlv/tlv.h
> create mode 100755 scripts/bareboxtlv-generator/bareboxtlv-generator.py
> create mode 100644 scripts/bareboxtlv-generator/data-example.yaml
> create mode 100644 scripts/bareboxtlv-generator/requirements.txt
> create mode 100644 scripts/bareboxtlv-generator/schema-example.yaml
> create mode 100644 scripts/bareboxtlv-target.c
> create mode 100644 scripts/bareboxtlv.c
> create mode 100644 scripts/include/asm/unaligned.h
> create mode 100644 scripts/include/linux/build_bug.h
> create mode 100644 scripts/include/linux/stringify.h
> create mode 100644 test/self/tlv.c
> create mode 100644 test/self/tlv.dts
>
--
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 |
prev parent reply other threads:[~2025-04-22 12:47 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-11 7:40 Ahmad Fatoum
2025-04-11 7:40 ` [PATCH 01/10] net: factor out eth_of_get_fixup_node Ahmad Fatoum
2025-04-11 7:40 ` [PATCH 02/10] net: export list of registered ethernet addresses Ahmad Fatoum
2025-04-11 7:40 ` [PATCH 03/10] common: add optional systemd.hostname generation Ahmad Fatoum
2025-04-11 7:40 ` [PATCH 04/10] common: add barebox TLV support Ahmad Fatoum
2025-04-14 14:49 ` Sascha Hauer
2025-04-14 14:57 ` Ahmad Fatoum
2025-04-14 15:06 ` Sascha Hauer
2025-04-11 7:40 ` [PATCH 05/10] commands: add TLV debugging command Ahmad Fatoum
2025-04-11 7:40 ` [PATCH 06/10] scripts: add bareboxtlv host/target tool Ahmad Fatoum
2025-04-11 7:40 ` [PATCH 07/10] boards: add decoder for LXA TLV v1 format Ahmad Fatoum
2025-04-11 7:40 ` [PATCH 08/10] scripts: Add Barebox TLV Generator Tooling Ahmad Fatoum
2025-04-14 15:00 ` Sascha Hauer
2025-04-11 7:40 ` [PATCH 09/10] doc: Add User-Documentation for Barebox TLV Ahmad Fatoum
2025-04-11 7:40 ` [PATCH 10/10] ARM: stm32mp: lxa: enable TLV support for TAC & FairyTux2 Ahmad Fatoum
2025-04-22 11:40 ` Ahmad Fatoum [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=fbb93a0e-a189-4a80-afa5-0e4335c34317@pengutronix.de \
--to=a.fatoum@pengutronix.de \
--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