From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 116E435B654 for ; Mon, 23 Feb 2026 10:57:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771844244; cv=none; b=Zkilo+287roY6JRAi89jPRzw+U+rnjccJxRgHPELleKM4ZnDFbroFbPZymA8id+Ikn3BH1J2QHAxpfVSMHJV5y7hfZxE4+0VxIE4e/vNxYz9kanxo2k6OeYbs8aRTgUUWviU3A6UZBZ4EulwmIzMU8Njg+oCLXoJSMvK1pYpM1w= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771844244; c=relaxed/simple; bh=xy346hVamCRC/UcZKSgqxNYyzjui+idtbvM8nTV/AfQ=; h=Message-ID:Date:MIME-Version:From:Subject:To:Cc:References: In-Reply-To:Content-Type; b=oITYSPP4FOkrDd80L3c7ARINxIu3mzZQr2alVWnKyyR60Wb2me/pVptEcL3V1D0/57atq75FFzSCFa55pUYm9pNDwCU4Ayy05oBmwBD5OQ/nlvw0UV4W+SZAMMa2TEfOtaG29Sjlq8ZLDVJTB6okzvTC3sJnuCnhZGu2Y0RQU3k= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ka3LGrkG; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ka3LGrkG" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-4806f3fc50bso47364575e9.0 for ; Mon, 23 Feb 2026 02:57:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1771844241; x=1772449041; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:subject:from:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=A9juCIWO3/qNsUDquSKfNxba1OKTRHA92+YWH/XuFNg=; b=ka3LGrkGA/BLd9StmBpUu91OKM0Jns21oVQBhjaP8aGMTm2LpYpmUtxNhge6AzdAGr 96YHEUsKlUG6f1AcN8goeKPO+V75/ygSG9WE1r8q5vBzGkIdyvNush/Okeyc2DT66NK4 ESzfGgaGu0aOZtQg92+jIwz20MsUIom5QnWcDVTSStv/ZKI3Fx1mbEXjwDqu6RFX38Ru sOI2rpuiXwJXIbNhfUdlo5I2CmU+/FvY4vbgbh7uH6Acaya9Dvj/gUN3HT/oOQoP4XD4 UW/mEbzS3Tfl8CrApGpp3Gw83401Q02LHqBk15Cs2j67+mu2Zk44SMLp+GOd2rAnLgGN 07gA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771844241; x=1772449041; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:subject:from:user-agent:mime-version:date:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=A9juCIWO3/qNsUDquSKfNxba1OKTRHA92+YWH/XuFNg=; b=V9CFEcfdkd5rZgP1Pqw6h1X/fSFSLjKW+X11XaeDSpmTiLOpwTGxyvNbYPswtoYlDn GectAZ+cgSbFSrgB4fwlY++Ehy6D6f05zK1B3lKDWa4A6zVZvNSBcSMNE4KhiPUOcVIy udcmyrz550I6Y/Wcrr/AghcETBrNVfkCx7lTB5FrSbYI7FoFdOm4dRfFugHdwBDHHZEx Z4vs1QNaNBo19C/7xjllVqj8Nea8wD355VKyTSnCiKFP9Vq1CLWrSsFS5LMB3eTfjvVT FHxvEHbJe7oqXNVq5FggCSpaE65NcIsET3CZvprJcjSiKjZjT2kOVQ1IrlhoBSsqaQIv jcsQ== X-Forwarded-Encrypted: i=1; AJvYcCWMBFF1W6dTxd9mdHtZsSvhEXIEm8T+aMDwN/03ZsgNd3KLUFdQUYwI0oF2NnEJxNSz6Rf40carQvSEuog=@vger.kernel.org X-Gm-Message-State: AOJu0YxIvilsXfTQfNx1TNHKPoTDlO1XvoL6CtmoJS24G3MQDvoVhNmh gLId05gE9NPP+79K+3M79me1vI1PP/O8CMrWN44ew2PBi4Ngb5k2bpMI X-Gm-Gg: AZuq6aJ2qgaF7ZafVgVBK6OCeBVNhfItBDOwKkQGSxcSdW4eUGf7I9ncuorFWKTJ2Dr Jtd7+3OjnSuScSGGgM8txYYEj7W6/RRB7/pHKAuQWoPqMo6jkUO4f06JIJD3TcTKszoVhu6DdOx GNpV4nT8ZVhsDuhjyPjpZ3mw01EyZH5C+s5lbxlzvue5LWafEu7FjISh+TFLL2rwkkbdBzWxmQV Fd/u0Vo7nJqOvqoyNs/Ae5Dfxcfsj/5KdFt7dOVaKgRUQQd+GrhlST6rFIf+xAsEnvjr7pdYv0N LQATG2NgJr2w2deQeYyR+tb21bGqA8A4Ugais4d9R8VQoAD7qOckT/2CiJlv1sIj9MY/KsYtXJz s8PFrKKBNS7aHooFk36NQh6K7Ef1w3ClBvQmIEmJDF1KwoG6byqgjYBJbP4p6KZGMxlM2AUcTcc D+bIbYqrR9E9A5t/lCzKbbj9fp6uCvofatbMx23BfNnes5muHUJYZaPQyQkR4X+ls= X-Received: by 2002:a05:600c:8183:b0:47d:3ffa:5f03 with SMTP id 5b1f17b1804b1-483a962e09fmr116392445e9.21.1771844241031; Mon, 23 Feb 2026 02:57:21 -0800 (PST) Received: from [192.168.20.170] (5D59A51C.catv.pool.telekom.hu. [93.89.165.28]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483a3dd3391sm166294125e9.1.2026.02.23.02.57.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 23 Feb 2026 02:57:20 -0800 (PST) Message-ID: <10f15883-d8db-4872-8af2-7a8cf293780d@gmail.com> Date: Mon, 23 Feb 2026 11:57:21 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Gabor Juhos Subject: Re: [PATCH] dt-bindings: firmware: cznic,turris-mox-rwtm: convert to DT schema To: Krzysztof Kozlowski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , =?UTF-8?Q?Marek_Beh=C3=BAn?= Cc: Andrew Lunn , Gregory Clement , Sebastian Hesselbarth , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org References: <20260221-mox-rwtm-yaml-v1-1-25dec4a0228b@gmail.com> <77c45be6-a0c1-4799-9491-f7e492d60aab@kernel.org> Content-Language: hu In-Reply-To: <77c45be6-a0c1-4799-9491-f7e492d60aab@kernel.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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