[lkml]   [2021]   [Jul]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH v3 0/5] nvmem: nintendo-otp: Add new driver for the Wii and Wii U OTP
The OTP is a read-only memory area which contains various keys and
signatures used to decrypt, encrypt or verify various pieces of storage.

Its size depends on the console, it is 128 bytes on the Wii and
1024 bytes on the Wii U (split into eight 128 bytes banks).

It can be used directly by writing into one register and reading from
the other one, without any additional synchronisation.

This series has been tested on both the Wii U (using my downstream
master-wiiu branch[1]), as well as on the Wii on mainline.


Changes since v1:
- Fixed the commit messages so they can be accepted by other email
servers, sorry about that.

Changes since v2:
- Switched the dt binding documentation to YAML.
- Used more obvious register arithmetic, and tested that gcc (at -O1 and
above) outputs the exact same rlwinm instructions for them.
- Use more #defines to make the code easier to read.
- Include some links to the reversed documentation.
- Avoid overlapping dt regions by changing the existing control@d800100
node to end before the OTP registers, with some bigger dt refactoring
left for a future series.

Emmanuel Gil Peyrot (5):
nvmem: nintendo-otp: Add new driver for the Wii and Wii U OTP
dt-bindings: nintendo-otp: Document the Wii and Wii U OTP support
powerpc: wii.dts: Reduce the size of the control area
powerpc: wii.dts: Expose the OTP on this platform
powerpc: wii_defconfig: Enable OTP by default

.../bindings/nvmem/nintendo-otp.yaml | 44 +++++++
arch/powerpc/boot/dts/wii.dts | 13 +-
arch/powerpc/configs/wii_defconfig | 1 +
drivers/nvmem/Kconfig | 11 ++
drivers/nvmem/Makefile | 2 +
drivers/nvmem/nintendo-otp.c | 124 ++++++++++++++++++
6 files changed, 194 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/nvmem/nintendo-otp.yaml
create mode 100644 drivers/nvmem/nintendo-otp.c


 \ /
  Last update: 2021-07-02 00:59    [W:4.762 / U:0.740 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site