[PATCH v2 0/6] nvmem: rmem: cleanup & add checksumming support for Mobileye EyeQ5

From: Théo Lebrun
Date: Mon Dec 09 2024 - 10:59:56 EST


Hi,

This series is two-fold.

- First some cleanup to nvmem/rmem.

[PATCH 2/6] nvmem: specify ->reg_read/reg_write() expected return values
[PATCH 3/6] nvmem: rmem: make ->reg_read() straight forward code
[PATCH 4/6] nvmem: rmem: remove unused struct rmem::size field

Those patches were sent on the 2024-07-24 [0] and saw no feedback.
There are small improvements to the commit messages but the commit
bodies stayed the same. I did not make this a follow-up as the EyeQ5
compatible (see below) wasn't part of V1, and I wouldn't want people
to think it has been through a first round of lkml review.

- Second, add a new compatible to rmem for the EyeQ5-specific usecase;
it parses a header and does checksumming at probe.

[PATCH 1/6] dt-bindings: nvmem: rmem: Add mobileye,eyeq5-bootloader-config
[PATCH 5/6] nvmem: rmem: add CRC validation for Mobileye EyeQ5 NVMEM
[PATCH 6/6] MIPS: mobileye: eyeq5: add bootloader config reserved memory

Code is tested on real hardware, an EyeQ5 evaluation board.
With the patch series:

# rmem=/sys/bus/nvmem/devices/rmem0
# for i in $rmem/cells/*; do basename $i; hexdump -C $i | head -n1; done
mac@7c,0
00000000 00 28 f8 6b 87 1b |.(.k..|
mac@82,0
00000000 00 28 f8 6c 88 1c |.(.l..|

Have a nice day,
Thanks,
Théo

[0]: https://lore.kernel.org/lkml/20240724-nvmem-rmem-v1-0-d2e3a97349a0@xxxxxxxxxxx/

Signed-off-by: Théo Lebrun <theo.lebrun@xxxxxxxxxxx>
---
Changes in v2:
- [PATCH 1/6] dt-bindings: take "Acked-by: Rob Herring".
- [PATCH 5/6]: add "#include <linux/slab.h>" for kfree(). It caused
compile errors on some architectures, thanks kernel test robot.
- Link to v1: https://lore.kernel.org/r/20241203-rmem-v1-0-24f4970cf14e@xxxxxxxxxxx

---
Théo Lebrun (6):
dt-bindings: nvmem: rmem: Add mobileye,eyeq5-bootloader-config
nvmem: specify ->reg_read/reg_write() expected return values
nvmem: rmem: make ->reg_read() straight forward code
nvmem: rmem: remove unused struct rmem::size field
nvmem: rmem: add CRC validation for Mobileye EyeQ5 NVMEM
MIPS: mobileye: eyeq5: add bootloader config reserved memory

Documentation/devicetree/bindings/nvmem/rmem.yaml | 1 +
arch/mips/boot/dts/mobileye/eyeq5.dtsi | 22 ++++++
drivers/nvmem/rmem.c | 96 ++++++++++++++++++++---
include/linux/nvmem-provider.h | 4 +-
4 files changed, 111 insertions(+), 12 deletions(-)
---
base-commit: 40384c840ea1944d7c5a392e8975ed088ecf0b37
change-id: 20241203-rmem-15df9301cf0b

Best regards,
--
Théo Lebrun <theo.lebrun@xxxxxxxxxxx>