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 only been tested on the Wii U so far, using the downstream 4.19 branch from linux-wiiu[1], but it should also work on the Wii on mainline. [1] https://gitlab.com/linux-wiiu/linux-wiiu Changes since v1: - Fixed the commit messages so they can be accepted by other email servers, sorry about that. Emmanuel Gil Peyrot (4): 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: Expose the OTP on this platform powerpc: wii_defconfig: Enable OTP by default .../bindings/nvmem/nintendo-otp.txt | 14 +++ arch/powerpc/boot/dts/wii.dts | 5 + arch/powerpc/configs/wii_defconfig | 1 + drivers/nvmem/Kconfig | 11 ++ drivers/nvmem/Makefile | 2 + drivers/nvmem/nintendo-otp.c | 115 ++++++++++++++++++ 6 files changed, 148 insertions(+) create mode 100644 Documentation/devicetree/bindings/nvmem/nintendo-otp.txt create mode 100644 drivers/nvmem/nintendo-otp.c -- 2.31.1