Am 9. November 2024 18:29:44 MEZ schrieb Andrew Lunn <andrew@xxxxxxx>: >On Sat, Nov 09, 2024 at 10:46:19AM +0100, Frank Wunderlich wrote: >> From: Frank Wunderlich <frank-w@xxxxxxxxxxxxxxx> >> >> after converting the ahci-platform binding to yaml the following files >> reporting "'anyOf' conditional failed" on >> >> sata@540000: sata-port@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@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@0 { >> phys = <&cp0_comphy2 0>; >> + status = "okay"; >> }; >> >> /* M.2-2250 B-key (J39) */ >> sata-port@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@540000 { >> >> sata-port@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).