LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
To: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	linuxppc-dev@lists.ozlabs.org, devicetree@vger.kernel.org
Cc: "Emmanuel Gil Peyrot" <linkmauve@linkmauve.fr>,
	"Ash Logan" <ash@heyquark.com>,
	"Jonathan Neuschäfer" <j.ne@posteo.net>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Michael Ellerman" <mpe@ellerman.id.au>,
	"Benjamin Herrenschmidt" <benh@kernel.crashing.org>,
	"Paul Mackerras" <paulus@samba.org>,
	linux-kernel@vger.kernel.org
Subject: [PATCH v3 0/5] nvmem: nintendo-otp: Add new driver for the Wii and Wii U OTP
Date: Fri,  2 Jul 2021 00:57:38 +0200	[thread overview]
Message-ID: <20210701225743.14631-1-linkmauve@linkmauve.fr> (raw)
In-Reply-To: <20210519095044.4109-1-linkmauve@linkmauve.fr>

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.

[1] https://gitlab.com/linkmauve/linux-wiiu/-/commits/master-wiiu

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

-- 
2.32.0


  parent reply	other threads:[~2021-07-01 22:57 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-19  9:50 [PATCH v2 0/4] " Emmanuel Gil Peyrot
2021-05-19  9:50 ` [PATCH v2 1/4] " Emmanuel Gil Peyrot
2021-06-26 23:24   ` Jonathan Neuschäfer
2021-05-19  9:50 ` [PATCH v2 2/4] dt-bindings: nintendo-otp: Document the Wii and Wii U OTP support Emmanuel Gil Peyrot
2021-05-21  1:37   ` Rob Herring
2021-06-26 21:27   ` Jonathan Neuschäfer
2021-05-19  9:50 ` [PATCH v2 3/4] powerpc: wii.dts: Expose the OTP on this platform Emmanuel Gil Peyrot
2021-06-26 23:34   ` Jonathan Neuschäfer
2021-07-01 19:56     ` Emmanuel Gil Peyrot
2021-07-02  8:56       ` Jonathan Neuschäfer
2021-07-03 15:53         ` Segher Boessenkool
2021-05-19  9:50 ` [PATCH v2 4/4] powerpc: wii_defconfig: Enable OTP by default Emmanuel Gil Peyrot
2021-06-26 23:38   ` Jonathan Neuschäfer
2021-07-01 22:57 ` Emmanuel Gil Peyrot [this message]
2021-07-01 22:57   ` [PATCH v3 1/5] nvmem: nintendo-otp: Add new driver for the Wii and Wii U OTP Emmanuel Gil Peyrot
2021-07-01 22:57   ` [PATCH v3 2/5] dt-bindings: nintendo-otp: Document the Wii and Wii U OTP support Emmanuel Gil Peyrot
2021-07-14 22:51     ` Rob Herring
2021-07-01 22:57   ` [PATCH v3 3/5] powerpc: wii.dts: Reduce the size of the control area Emmanuel Gil Peyrot
2021-07-01 22:57   ` [PATCH v3 4/5] powerpc: wii.dts: Expose the OTP on this platform Emmanuel Gil Peyrot
2021-07-01 22:57   ` [PATCH v3 5/5] powerpc: wii_defconfig: Enable OTP by default Emmanuel Gil Peyrot
2021-08-01  7:38   ` [PATCH v4 0/5] nvmem: nintendo-otp: Add new driver for the Wii and Wii U OTP Emmanuel Gil Peyrot
2021-08-01  7:38     ` [PATCH v4 1/5] " Emmanuel Gil Peyrot
2021-08-01  7:38     ` [PATCH v4 2/5] dt-bindings: nintendo-otp: Document the Wii and Wii U OTP support Emmanuel Gil Peyrot
2021-08-06 21:07       ` Rob Herring
2021-08-01  7:38     ` [PATCH v4 3/5] powerpc: wii.dts: Reduce the size of the control area Emmanuel Gil Peyrot
2021-08-01  7:38     ` [PATCH v4 4/5] powerpc: wii.dts: Expose the OTP on this platform Emmanuel Gil Peyrot
2021-08-01  7:38     ` [PATCH v4 5/5] powerpc: wii_defconfig: Enable OTP by default Emmanuel Gil Peyrot
2021-08-10 10:57     ` [PATCH v4 0/5] nvmem: nintendo-otp: Add new driver for the Wii and Wii U OTP Srinivas Kandagatla

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=20210701225743.14631-1-linkmauve@linkmauve.fr \
    --to=linkmauve@linkmauve.fr \
    --cc=ash@heyquark.com \
    --cc=benh@kernel.crashing.org \
    --cc=devicetree@vger.kernel.org \
    --cc=j.ne@posteo.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=paulus@samba.org \
    --cc=robh+dt@kernel.org \
    --cc=srinivas.kandagatla@linaro.org \
    --subject='Re: [PATCH v3 0/5] nvmem: nintendo-otp: Add new driver for the Wii and Wii U OTP' \
    /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

This is a public inbox, see mirroring instructions
on how to clone and mirror all data and code used for this inbox