On 04/02/2024 07:56, Xu Yang wrote: > >> >> On 02/02/2024 10:10, Xu Yang wrote: >>> Hi Krzysztof, >>> >>>> >>>> On 31/01/2024 12:43, Xu Yang wrote: >>>>> Change reg, interrupts, clock and clock-names as common properties and add >>>>> restrictions on them for different compatibles. >>>>> >>>>> Signed-off-by: Xu Yang <xu.yang_2@xxxxxxx> >>>>> >>>>> --- >>>>> Changes in v4: >>>>> - new patch since v3's discussion >>>>> - split the reg, interrupts, clock and clock-names properties into >>>>> common part and device-specific >>>>> Changes in v5: >>>>> - keep common property unchanged >>>>> - make if-then more readable >>>>> - remove non imx part >>>>> --- >>>>> .../devicetree/bindings/usb/ci-hdrc-usb2.yaml | 118 ++++++++++++++++++ >>>>> 1 file changed, 118 insertions(+) >>>>> >>>>> diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml b/Documentation/devicetree/bindings/usb/ci- >>>> hdrc-usb2.yaml >>>>> index 3b56e0edb1c6..6ad3582051b8 100644 >>>>> --- a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml >>>>> +++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml >>>>> @@ -412,6 +412,124 @@ allOf: >>>>> samsung,picophy-pre-emp-curr-control: false >>>>> samsung,picophy-dc-vol-level-adjust: false >>>>> >>>>> + - if: >>>>> + properties: >>>>> + compatible: >>>>> + const: fsl,imx27-usb >>>>> + then: >>>>> + properties: >>>>> + clocks: >>>>> + minItems: 3 >>>>> + maxItems: 3 >>>>> + clock-names: >>>>> + minItems: 3 >>>>> + maxItems: 3 >>>>> + items: >>>>> + anyOf: >>>>> + - const: ipg >>>>> + - const: ahb >>>>> + - const: per >>>> >>>> This would be just: enum: [ipg, ahb, per], but in both cases I question >>>> why the order should be flexible? Nothing in commit msg explains it. >>> >>> The driver will get the clock by clock-name, then the order should not >>> matter. However, these three clock-names should be present at the same >>> time. I should use enum then. >> >> Forgot to answer to this. >> >> Which driver? U-boot? OpenBSD? The one in my custom Linux kernel fork >> (open-source and published on github)? Did you check all of them? > > I mean below driver in linux kernel tree. > https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/tree/drivers/usb/chipidea/ci_hdrc_imx.c?h=linux-6.1.y#n191 What about others? How about driver in other upstream projects? My comment should make you think... Best regards, Krzysztof