[PATCH 0/7] Support exposing bits of any byte as NVMEM cells

Rob Herring (Arm) robh at kernel.org
Mon May 12 05:49:36 PDT 2025


On Sat, 10 May 2025 07:44:40 +0000, Sven Peter wrote:
> Hi,
> 
> I'm preparing USB3 support for Apple Silicon Macs for upstreaming right
> now and this series is the first dependency. The Type-C PHY requires
> configuration values encoded in fuses for which we already have a
> driver.
> Unfortunately, the fuses on these machines are only accessibly as 32bit
> words but the Type-C PHY configuration values are individual bits which
> are sometimes spread across multiple fuses.
> Right now this is not supported by the nvmem core which only allows a
> subset of bits within the first byte to be exposed as a nvmem cell. This
> small series adds support for exposing arbitrary bits as nvmem cells.
> 
> The second part of the series then adds the nvmem cells required for the
> Type-C PHY to our device trees. While it's technically independent I've
> included those changes in this series for context.
> 
> Best,
> 
> Sven
> 
> Signed-off-by: Sven Peter <sven at svenpeter.dev>
> ---
> Janne Grunau (2):
>       Revert "nvmem: core: Print error on wrong bits DT property"
>       arm64: dts: apple: t8112: Add eFuses node
> 
> R (1):
>       arm64: dts: apple: t600x: Add eFuses node
> 
> Sven Peter (4):
>       nvmem: core: allow bit offset > 8
>       nvmem: core: round up to word_size
>       dt-bindings: nvmem: apple: Add T8112 compatible
>       arm64: dts: apple: t8103: Add eFuses node
> 
>  .../devicetree/bindings/nvmem/apple,efuses.yaml    |   1 +
>  arch/arm64/boot/dts/apple/t600x-dieX.dtsi          | 187 +++++++++++++++++++++
>  arch/arm64/boot/dts/apple/t8103.dtsi               | 102 +++++++++++
>  arch/arm64/boot/dts/apple/t8112.dtsi               |  97 +++++++++++
>  drivers/nvmem/core.c                               |  24 +--
>  5 files changed, 401 insertions(+), 10 deletions(-)
> ---
> base-commit: 0af2f6be1b4281385b618cb86ad946eded089ac8
> change-id: 20250508-nvmem-dt-de1a1842e883
> 
> Best regards,
> --
> Sven Peter <sven at svenpeter.dev>
> 
> 
> 


My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

  pip3 install dtschema --upgrade


This patch series was applied (using b4) to base:
 Base: using specified base-commit 0af2f6be1b4281385b618cb86ad946eded089ac8

If this is not the correct base, please add 'base-commit' tag
(or use b4 which does this automatically)

New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/apple/' for 20250510-nvmem-dt-v1-0-eccfa6e33f6a at svenpeter.dev:

arch/arm64/boot/dts/apple/t8103-j313.dtb: efuse at 23d2bc000 (apple,t8103-efuses): Unevaluated properties are not allowed ('efuse at 430,26', 'efuse at 430,29', 'efuse at 430,31', 'efuse at 434,15', 'efuse at 434,21', 'efuse at 434,23', 'efuse at 434,9', 'efuse at 438,12', 'efuse at 438,14', 'efuse at 438,19', 'efuse at 438,25', 'efuse at 438,31', 'efuse at 438,9' were unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/apple,efuses.yaml#
arch/arm64/boot/dts/apple/t8112-j493.dtb: efuse at 23d2c8000 (apple,t8112-efuses): Unevaluated properties are not allowed ('efuse at 480,20', 'efuse at 480,23', 'efuse at 480,25', 'efuse at 480,28', 'efuse at 480,30', 'efuse at 484,15', 'efuse at 484,17', 'efuse at 484,30', 'efuse at 484,9', 'efuse at 488,13', 'efuse at 488,19', 'efuse at 488,25', 'efuse at 488,27', 'efuse at 488,8' were unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/apple,efuses.yaml#
arch/arm64/boot/dts/apple/t8112-j413.dtb: efuse at 23d2c8000 (apple,t8112-efuses): Unevaluated properties are not allowed ('efuse at 480,20', 'efuse at 480,23', 'efuse at 480,25', 'efuse at 480,28', 'efuse at 480,30', 'efuse at 484,15', 'efuse at 484,17', 'efuse at 484,30', 'efuse at 484,9', 'efuse at 488,13', 'efuse at 488,19', 'efuse at 488,25', 'efuse at 488,27', 'efuse at 488,8' were unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/apple,efuses.yaml#
arch/arm64/boot/dts/apple/t6000-j314s.dtb: efuse at 2922bc000 (apple,t6000-efuses): Unevaluated properties are not allowed ('efuse at a10,22', 'efuse at a10,25', 'efuse at a10,27', 'efuse at a10,30', 'efuse at a14,11', 'efuse at a14,17', 'efuse at a14,19', 'efuse at a18,10', 'efuse at a18,15', 'efuse at a18,21', 'efuse at a18,27', 'efuse at a18,29', 'efuse at a18,8', 'efuse at a1c,10', 'efuse at a1c,13', 'efuse at a1c,15', 'efuse at a1c,18', 'efuse at a1c,20', 'efuse at a1c,25', 'efuse at a1c,31', 'efuse at a20,20', 'efuse at a20,23', 'efuse at a20,25', 'efuse at a20,28', 'efuse at a20,30', 'efuse at a24,15', 'efuse at a24,17', 'efuse at a24,9' were unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/apple,efuses.yaml#
arch/arm64/boot/dts/apple/t6002-j375d.dtb: efuse at 2922bc000 (apple,t6000-efuses): Unevaluated properties are not allowed ('efuse at a10,22', 'efuse at a10,25', 'efuse at a10,27', 'efuse at a10,30', 'efuse at a14,11', 'efuse at a14,17', 'efuse at a14,19', 'efuse at a18,10', 'efuse at a18,15', 'efuse at a18,21', 'efuse at a18,27', 'efuse at a18,29', 'efuse at a18,8', 'efuse at a1c,10', 'efuse at a1c,13', 'efuse at a1c,15', 'efuse at a1c,18', 'efuse at a1c,20', 'efuse at a1c,25', 'efuse at a1c,31', 'efuse at a20,20', 'efuse at a20,23', 'efuse at a20,25', 'efuse at a20,28', 'efuse at a20,30', 'efuse at a24,15', 'efuse at a24,17', 'efuse at a24,9' were unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/apple,efuses.yaml#
arch/arm64/boot/dts/apple/t8103-j293.dtb: efuse at 23d2bc000 (apple,t8103-efuses): Unevaluated properties are not allowed ('efuse at 430,26', 'efuse at 430,29', 'efuse at 430,31', 'efuse at 434,15', 'efuse at 434,21', 'efuse at 434,23', 'efuse at 434,9', 'efuse at 438,12', 'efuse at 438,14', 'efuse at 438,19', 'efuse at 438,25', 'efuse at 438,31', 'efuse at 438,9' were unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/apple,efuses.yaml#
arch/arm64/boot/dts/apple/t6002-j375d.dtb: efuse at 2922bc000 (apple,t6000-efuses): Unevaluated properties are not allowed ('efuse at a10,22', 'efuse at a10,25', 'efuse at a10,27', 'efuse at a10,30', 'efuse at a14,11', 'efuse at a14,17', 'efuse at a14,19', 'efuse at a18,10', 'efuse at a18,15', 'efuse at a18,21', 'efuse at a18,27', 'efuse at a18,29', 'efuse at a18,8', 'efuse at a1c,10', 'efuse at a1c,13', 'efuse at a1c,15', 'efuse at a1c,18', 'efuse at a1c,20', 'efuse at a1c,25', 'efuse at a1c,31', 'efuse at a20,20', 'efuse at a20,23', 'efuse at a20,25', 'efuse at a20,28', 'efuse at a20,30', 'efuse at a24,15', 'efuse at a24,17', 'efuse at a24,9' were unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/apple,efuses.yaml#
arch/arm64/boot/dts/apple/t8103-j457.dtb: efuse at 23d2bc000 (apple,t8103-efuses): Unevaluated properties are not allowed ('efuse at 430,26', 'efuse at 430,29', 'efuse at 430,31', 'efuse at 434,15', 'efuse at 434,21', 'efuse at 434,23', 'efuse at 434,9', 'efuse at 438,12', 'efuse at 438,14', 'efuse at 438,19', 'efuse at 438,25', 'efuse at 438,31', 'efuse at 438,9' were unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/apple,efuses.yaml#
arch/arm64/boot/dts/apple/t8103-j456.dtb: efuse at 23d2bc000 (apple,t8103-efuses): Unevaluated properties are not allowed ('efuse at 430,26', 'efuse at 430,29', 'efuse at 430,31', 'efuse at 434,15', 'efuse at 434,21', 'efuse at 434,23', 'efuse at 434,9', 'efuse at 438,12', 'efuse at 438,14', 'efuse at 438,19', 'efuse at 438,25', 'efuse at 438,31', 'efuse at 438,9' were unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/apple,efuses.yaml#
arch/arm64/boot/dts/apple/t8112-j473.dtb: efuse at 23d2c8000 (apple,t8112-efuses): Unevaluated properties are not allowed ('efuse at 480,20', 'efuse at 480,23', 'efuse at 480,25', 'efuse at 480,28', 'efuse at 480,30', 'efuse at 484,15', 'efuse at 484,17', 'efuse at 484,30', 'efuse at 484,9', 'efuse at 488,13', 'efuse at 488,19', 'efuse at 488,25', 'efuse at 488,27', 'efuse at 488,8' were unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/apple,efuses.yaml#
arch/arm64/boot/dts/apple/t6001-j314c.dtb: efuse at 2922bc000 (apple,t6000-efuses): Unevaluated properties are not allowed ('efuse at a10,22', 'efuse at a10,25', 'efuse at a10,27', 'efuse at a10,30', 'efuse at a14,11', 'efuse at a14,17', 'efuse at a14,19', 'efuse at a18,10', 'efuse at a18,15', 'efuse at a18,21', 'efuse at a18,27', 'efuse at a18,29', 'efuse at a18,8', 'efuse at a1c,10', 'efuse at a1c,13', 'efuse at a1c,15', 'efuse at a1c,18', 'efuse at a1c,20', 'efuse at a1c,25', 'efuse at a1c,31', 'efuse at a20,20', 'efuse at a20,23', 'efuse at a20,25', 'efuse at a20,28', 'efuse at a20,30', 'efuse at a24,15', 'efuse at a24,17', 'efuse at a24,9' were unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/apple,efuses.yaml#
arch/arm64/boot/dts/apple/t6001-j375c.dtb: efuse at 2922bc000 (apple,t6000-efuses): Unevaluated properties are not allowed ('efuse at a10,22', 'efuse at a10,25', 'efuse at a10,27', 'efuse at a10,30', 'efuse at a14,11', 'efuse at a14,17', 'efuse at a14,19', 'efuse at a18,10', 'efuse at a18,15', 'efuse at a18,21', 'efuse at a18,27', 'efuse at a18,29', 'efuse at a18,8', 'efuse at a1c,10', 'efuse at a1c,13', 'efuse at a1c,15', 'efuse at a1c,18', 'efuse at a1c,20', 'efuse at a1c,25', 'efuse at a1c,31', 'efuse at a20,20', 'efuse at a20,23', 'efuse at a20,25', 'efuse at a20,28', 'efuse at a20,30', 'efuse at a24,15', 'efuse at a24,17', 'efuse at a24,9' were unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/apple,efuses.yaml#
arch/arm64/boot/dts/apple/t6001-j316c.dtb: efuse at 2922bc000 (apple,t6000-efuses): Unevaluated properties are not allowed ('efuse at a10,22', 'efuse at a10,25', 'efuse at a10,27', 'efuse at a10,30', 'efuse at a14,11', 'efuse at a14,17', 'efuse at a14,19', 'efuse at a18,10', 'efuse at a18,15', 'efuse at a18,21', 'efuse at a18,27', 'efuse at a18,29', 'efuse at a18,8', 'efuse at a1c,10', 'efuse at a1c,13', 'efuse at a1c,15', 'efuse at a1c,18', 'efuse at a1c,20', 'efuse at a1c,25', 'efuse at a1c,31', 'efuse at a20,20', 'efuse at a20,23', 'efuse at a20,25', 'efuse at a20,28', 'efuse at a20,30', 'efuse at a24,15', 'efuse at a24,17', 'efuse at a24,9' were unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/apple,efuses.yaml#
arch/arm64/boot/dts/apple/t8103-j274.dtb: efuse at 23d2bc000 (apple,t8103-efuses): Unevaluated properties are not allowed ('efuse at 430,26', 'efuse at 430,29', 'efuse at 430,31', 'efuse at 434,15', 'efuse at 434,21', 'efuse at 434,23', 'efuse at 434,9', 'efuse at 438,12', 'efuse at 438,14', 'efuse at 438,19', 'efuse at 438,25', 'efuse at 438,31', 'efuse at 438,9' were unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/apple,efuses.yaml#
arch/arm64/boot/dts/apple/t6000-j316s.dtb: efuse at 2922bc000 (apple,t6000-efuses): Unevaluated properties are not allowed ('efuse at a10,22', 'efuse at a10,25', 'efuse at a10,27', 'efuse at a10,30', 'efuse at a14,11', 'efuse at a14,17', 'efuse at a14,19', 'efuse at a18,10', 'efuse at a18,15', 'efuse at a18,21', 'efuse at a18,27', 'efuse at a18,29', 'efuse at a18,8', 'efuse at a1c,10', 'efuse at a1c,13', 'efuse at a1c,15', 'efuse at a1c,18', 'efuse at a1c,20', 'efuse at a1c,25', 'efuse at a1c,31', 'efuse at a20,20', 'efuse at a20,23', 'efuse at a20,25', 'efuse at a20,28', 'efuse at a20,30', 'efuse at a24,15', 'efuse at a24,17', 'efuse at a24,9' were unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/apple,efuses.yaml#








More information about the linux-arm-kernel mailing list