Re: [EXT] Re: [PATCH v6 3/7] dt-bindings: i3c: Add NXP P3H2x4x i3c-hub support

From: Krzysztof Kozlowski

Date: Fri Mar 13 2026 - 12:05:31 EST


On 13/03/2026 12:09, Lakshay Piplani wrote:
>>> +examples:
>>> + - |
>>> + i3c {
>>> + #address-cells = <3>;
>>> + #size-cells = <0>;
>>> +
>>> + hub@70,236153000c2 {
>>> + reg = <0x70 0x236 0x3000c2>;
>>
>> Where is the compatible?
>>
>> So this wasn't checked/tested. Try yourself, remove required properties and
>> see if there is an error. No error, right?
>>
>> Best regards,
>> Krzysztof
>
> Hi Krzysztof,
>
> Thanks for pointing this out.
>
> In this binding, compatible is not a required property by design. The P3H2x4x
> hub can appear on either an I3C bus or an I2C bus. For I3C instantiations, the
> device is self-discoverable via Dynamic Address Assignment (DAA) and its PID/DCR,
> so, the driver does not rely on a compatible string for matching.
>
> The compatible = "nxp,p3h2840" entry in the schema is meant only for the legacy I2C mode.
> where a standard OF match is still needed. Since we did not include an I2C example in the
> examples section, the compatible property does not appear there and is therefore not
> required for I3C only cases.

So you just added something which was never verified/build tested.

>
> dt_binding_check passes because the schema intentionally does not declare compatible as
> required, and the examples conform to that.

Requiring compatible is kind of irrelevant, because schema would just no
match without it. IOW, has no practical effect on the schema. Lack of
"require" of compatible also therefore has no practical impact on the
schema.

Best regards,
Krzysztof