From: Gabor Juhos <j4g8y7@gmail.com>
To: "Krzysztof Kozlowski" <krzk@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Marek Behún" <kabel@kernel.org>
Cc: Andrew Lunn <andrew@lunn.ch>,
Gregory Clement <gregory.clement@bootlin.com>,
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] dt-bindings: firmware: cznic,turris-mox-rwtm: convert to DT schema
Date: Mon, 23 Feb 2026 11:57:21 +0100 [thread overview]
Message-ID: <10f15883-d8db-4872-8af2-7a8cf293780d@gmail.com> (raw)
In-Reply-To: <77c45be6-a0c1-4799-9491-f7e492d60aab@kernel.org>
Hi Krzysztof,
2026. 02. 21. 19:31 keltezéssel, Krzysztof Kozlowski írta:
> On 21/02/2026 19:21, Gabor Juhos wrote:
>> +
>> +description: |
>> + This device tree node should be used on Turris Mox, or potentially
>> + another A3700 compatible device running the Mox's rWTM firmware in
>> + the secure processor (for example it is possible to flash this
>> + firmware into EspressoBin).
>> +
>> +properties:
>> + compatible:
>> + oneOf:
>> + - const: marvell,armada-3700-rwtm-firmware
>> +
>> + - items:
>> + - const: marvell,armada-3700-rwtm-firmware
>
> This makes little sense. How this can be alone and followed by fallback?
I admit that this is quite messy, but let me describe the current situation in
detail.
Originally both the dt-bindings documentation and the 'turris-mox-rwtm' driver
have used the 'cznic,turris-mox-rwtm' compatible alone.
In commit 90ae47215de3 ("firmware: turris-mox-rwtm: add
marvell,armada-3700-rwtm-firmware compatible string") a new compatible string
'marvell,armada-3700-rwtm-firmware' has been added to the driver.
Additionally, in commit 3a52a48973b3 ("arm64: dts: marvell: armada-37xx: move
firmware node to generic dtsi file") added a node to the Armada 37xx SoC dtsi
file which uses only 'marvell,armada-3700-rwtm-firmware' as compatible. In the
same commit the 'armada-3720-turris-mox.dts' file has been modified to use both
compatible strings, and the 'cznic,turris-mox-rwtm' has been chosen to be the
fallback.
Unfortunately, none of the commits above updated the original dt-binding
documentation, so it is out of date since more than 4 years.
In short, the driver handles both compatibles equally, none of those are a
fallback of the other one. And in the existing in-kernel dts files, the
compatible is specified in the following forms:
"marvell,armada-3700-rwtm-firmware", "cznic,turris-mox-rwtm"
or
"marvell,armada-3700-rwtm-firmware" alone
The dt-schema is based on these facts in order to avoid new 'dtbs_check'
warnings, even if this is not the optimal/best approach.
> Plus adding new compatible has to be explicit in commit msg, including
> the reason (existing users).
>
>> + - const: cznic,turris-mox-rwtm
>
> Anyway, not tested. Please test your patches BEFORE you send them. I
> finished review here because of that.
Sorry about wasting your time. This is my first schema and I have missed the
'yamllint' warning indicated by Rob's bot in the other mail.
Nevertheless, I have tested the patch before sending, along with several different
versions besides the current one.
Without the patch 'make dtbs_check' throws the following warnings:
arch/arm64/boot/dts/marvell/armada-3720-atlas-v5.dtb: /firmware/armada-3700-rwtm: failed to match any schema with compatible: ['marvell,armada-3700-rwtm-firmware', 'cznic,turris-mox-rwtm']
arch/arm64/boot/dts/marvell/armada-3720-atlas-v5.dtb: /firmware/armada-3700-rwtm: failed to match any schema with compatible: ['marvell,armada-3700-rwtm-firmware', 'cznic,turris-mox-rwtm']
arch/arm64/boot/dts/marvell/armada-3720-db.dtb: /firmware/armada-3700-rwtm: failed to match any schema with compatible: ['marvell,armada-3700-rwtm-firmware']
arch/arm64/boot/dts/marvell/armada-3720-eDPU.dtb: /firmware/armada-3700-rwtm: failed to match any schema with compatible: ['marvell,armada-3700-rwtm-firmware']
arch/arm64/boot/dts/marvell/armada-3720-espressobin.dtb: /firmware/armada-3700-rwtm: failed to match any schema with compatible: ['marvell,armada-3700-rwtm-firmware']
arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dtb: /firmware/armada-3700-rwtm: failed to match any schema with compatible: ['marvell,armada-3700-rwtm-firmware']
arch/arm64/boot/dts/marvell/armada-3720-espressobin-ultra.dtb: /firmware/armada-3700-rwtm: failed to match any schema with compatible: ['marvell,armada-3700-rwtm-firmware']
arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dtb: /firmware/armada-3700-rwtm: failed to match any schema with compatible: ['marvell,armada-3700-rwtm-firmware']
arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dtb: /firmware/armada-3700-rwtm: failed to match any schema with compatible: ['marvell,armada-3700-rwtm-firmware']
arch/arm64/boot/dts/marvell/armada-3720-gl-mv1000.dtb: /firmware/armada-3700-rwtm: failed to match any schema with compatible: ['marvell,armada-3700-rwtm-firmware']
arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: /firmware/armada-3700-rwtm: failed to match any schema with compatible: ['marvell,armada-3700-rwtm-firmware', 'cznic,turris-mox-rwtm']
arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: /firmware/armada-3700-rwtm: failed to match any schema with compatible: ['marvell,armada-3700-rwtm-firmware', 'cznic,turris-mox-rwtm']
arch/arm64/boot/dts/marvell/armada-3720-uDPU.dtb: /firmware/armada-3700-rwtm: failed to match any schema with compatible: ['marvell,armada-3700-rwtm-firmware']
Below are the results of testing different compatible rules.
properties:
compatible:
const: cznic,turris-mox-rwtm
arch/arm64/boot/dts/marvell/armada-3720-atlas-v5.dtb: armada-3700-rwtm (marvell,armada-3700-rwtm-firmware): compatible:0: 'cznic,turris-mox-rwtm' was expected
arch/arm64/boot/dts/marvell/armada-3720-atlas-v5.dtb: armada-3700-rwtm (marvell,armada-3700-rwtm-firmware): compatible: ['marvell,armada-3700-rwtm-firmware', 'cznic,turris-mox-rwtm'] is too long
arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: armada-3700-rwtm (marvell,armada-3700-rwtm-firmware): compatible:0: 'cznic,turris-mox-rwtm' was expected
arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: armada-3700-rwtm (marvell,armada-3700-rwtm-firmware): compatible: ['marvell,armada-3700-rwtm-firmware', 'cznic,turris-mox-rwtm'] is too long
properties:
compatible:
const: marvell,armada-3700-rwtm-firmware
arch/arm64/boot/dts/marvell/armada-3720-atlas-v5.dtb: armada-3700-rwtm (marvell,armada-3700-rwtm-firmware): compatible: ['marvell,armada-3700-rwtm-firmware', 'cznic,turris-mox-rwtm'] is too long
arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: armada-3700-rwtm (marvell,armada-3700-rwtm-firmware): compatible: ['marvell,armada-3700-rwtm-firmware', 'cznic,turris-mox-rwtm'] is too long
properties:
compatible:
enum:
- marvell,armada-3700-rwtm-firmware
- cznic,turris-mox-rwtm
arch/arm64/boot/dts/marvell/armada-3720-atlas-v5.dtb: armada-3700-rwtm (marvell,armada-3700-rwtm-firmware): compatible: ['marvell,armada-3700-rwtm-firmware', 'cznic,turris-mox-rwtm'] is too long
arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: armada-3700-rwtm (marvell,armada-3700-rwtm-firmware): compatible: ['marvell,armada-3700-rwtm-firmware', 'cznic,turris-mox-rwtm'] is too long
properties:
compatible:
items:
- const: marvell,armada-3700-rwtm-firmware
- const: cznic,turris-mox-rwtm
arch/arm64/boot/dts/marvell/armada-3720-db.dtb: armada-3700-rwtm (marvell,armada-3700-rwtm-firmware): compatible: ['marvell,armada-3700-rwtm-firmware'] is too short
arch/arm64/boot/dts/marvell/armada-3720-eDPU.dtb: armada-3700-rwtm (marvell,armada-3700-rwtm-firmware): compatible: ['marvell,armada-3700-rwtm-firmware'] is too short
arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dtb: armada-3700-rwtm (marvell,armada-3700-rwtm-firmware): compatible: ['marvell,armada-3700-rwtm-firmware'] is too short
arch/arm64/boot/dts/marvell/armada-3720-espressobin-ultra.dtb: armada-3700-rwtm (marvell,armada-3700-rwtm-firmware): compatible: ['marvell,armada-3700-rwtm-firmware'] is too short
arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dtb: armada-3700-rwtm (marvell,armada-3700-rwtm-firmware): compatible: ['marvell,armada-3700-rwtm-firmware'] is too short
arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dtb: armada-3700-rwtm (marvell,armada-3700-rwtm-firmware): compatible: ['marvell,armada-3700-rwtm-firmware'] is too short
arch/arm64/boot/dts/marvell/armada-3720-espressobin.dtb: armada-3700-rwtm (marvell,armada-3700-rwtm-firmware): compatible: ['marvell,armada-3700-rwtm-firmware'] is too short
arch/arm64/boot/dts/marvell/armada-3720-gl-mv1000.dtb: armada-3700-rwtm (marvell,armada-3700-rwtm-firmware): compatible: ['marvell,armada-3700-rwtm-firmware'] is too short
arch/arm64/boot/dts/marvell/armada-3720-uDPU.dtb: armada-3700-rwtm (marvell,armada-3700-rwtm-firmware): compatible: ['marvell,armada-3700-rwtm-firmware'] is too short
I wanted to get rid of all warnings, so I ended up with the current patch.
Do you have any suggestion about what would be the acceptable solution to clean
up the current mess?
Regards,
Gabor
next prev parent reply other threads:[~2026-02-23 10:57 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-21 18:21 Gabor Juhos
2026-02-21 18:31 ` Krzysztof Kozlowski
2026-02-23 10:57 ` Gabor Juhos [this message]
2026-02-23 12:32 ` Gabor Juhos
2026-02-21 19:20 ` Rob Herring (Arm)
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=10f15883-d8db-4872-8af2-7a8cf293780d@gmail.com \
--to=j4g8y7@gmail.com \
--cc=andrew@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gregory.clement@bootlin.com \
--cc=kabel@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
--cc=sebastian.hesselbarth@gmail.com \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®