[PATCH v1 1/3] arm64: dts: marvell: Fix anyOf conditional failed

Frank Wunderlich frank-w at public-files.de
Sun Nov 10 01:25:13 PST 2024


Am 9. November 2024 18:29:44 MEZ schrieb Andrew Lunn <andrew at lunn.ch>:
>On Sat, Nov 09, 2024 at 10:46:19AM +0100, Frank Wunderlich wrote:
>> From: Frank Wunderlich <frank-w at public-files.de>
>> 
>> after converting the ahci-platform binding to yaml the following files
>> reporting "'anyOf' conditional failed" on
>> 
>> sata at 540000: sata-port at 0
>> diff --git a/arch/arm64/boot/dts/marvell/armada-7040-db.dts b/arch/arm64/boot/dts/marvell/armada-7040-db.dts
>> index 1e0ab35cc686..2b5e45d2c5a6 100644
>> --- a/arch/arm64/boot/dts/marvell/armada-7040-db.dts
>> +++ b/arch/arm64/boot/dts/marvell/armada-7040-db.dts
>> @@ -214,6 +214,7 @@ &cp0_sata0 {
>>  
>>  	sata-port at 1 {
>>  		phys = <&cp0_comphy3 1>;
>> +		status = "okay";
>>  	};
>>  };
>
>>  
>> diff --git a/arch/arm64/boot/dts/marvell/armada-7040-mochabin.dts b/arch/arm64/boot/dts/marvell/armada-7040-mochabin.dts
>> index 7af949092b91..6bdc4f1e6939 100644
>> --- a/arch/arm64/boot/dts/marvell/armada-7040-mochabin.dts
>> +++ b/arch/arm64/boot/dts/marvell/armada-7040-mochabin.dts
>> @@ -433,11 +433,13 @@ &cp0_sata0 {
>>  	/* 7 + 12 SATA connector (J24) */
>>  	sata-port at 0 {
>>  		phys = <&cp0_comphy2 0>;
>> +		status = "okay";
>>  	};
>>  
>>  	/* M.2-2250 B-key (J39) */
>>  	sata-port at 1 {
>>  		phys = <&cp0_comphy3 1>;
>> +		status = "okay";
>>  	};
>>  };
>> diff --git a/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi b/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
>> index 7e595ac80043..161beec0b6b0 100644
>> --- a/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
>> +++ b/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
>> @@ -347,10 +347,12 @@ CP11X_LABEL(sata0): sata at 540000 {
>>  
>>  			sata-port at 0 {
>>  				reg = <0>;
>> +				status = "disabled";
>>  			};
>
>I don't know the yaml too well, but it is not obvious how adding a few 
>status = "disabled"; status = "okay"; fixes a "'anyOf' conditional failed".
>
>Maybe you can expand the explanation a bit?
>
>	Andrew

Hi angelo,

I guess the dtbs_check only checks required properties from yaml if the node is enabled.

As you know, phys that can supply different types (sata,usb,pcie,*gmii,...),but only one mode can be used per phy. So only one controller can be used with it,the other(s) can not. I do not know marvell,but there are similar in mediatek (xsphy) and rockchip (combphy).

From my PoV it makes sense to check only enabled nodes for required properties,but i do not know internals of dtbs_check. This patch is 2 years old and i only rebased it and run dtbs check with the others to have a clean result...i can test again without this one to check if anyOf is shown again.

regards Frank



More information about the linux-arm-kernel mailing list