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

Lakshay Piplani
2026-03-17T11:34:20Z

> -----Original Message-----
> From: Krzysztof Kozlowski <krzk@kernel.org>
> Sent: Friday, March 13, 2026 9:31 PM
> To: Lakshay Piplani <lakshay.piplani@nxp.com>
> Cc: linux-kernel@vger.kernel.org; linux-i3c@lists.infradead.org;
> alexandre.belloni@bootlin.com; krzk+dt@kernel.org; robh@kernel.org;
> conor+dt@kernel.org; devicetree@vger.kernel.org; broonie@kernel.org;
> lee@kernel.org; Frank Li <frank.li@nxp.com>; lgirdwood@gmail.com; Vikash
> Bansal <vikash.bansal@nxp.com>; Priyanka Jain <priyanka.jain@nxp.com>;
> Aman Kumar Pandey <aman.kumarpandey@nxp.com>
> Subject: Re: [EXT] Re: [PATCH v6 3/7] dt-bindings: i3c: Add NXP P3H2x4x i3c-
> hub support
>
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report
> this email' button
>
>
> 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

Hi Krzysztof,

Thanks for the review.

To make sure I address the issue correctly, could you please suggest what specific changes you would
like to see in this dt-binding? I will update the schema accordingly and re‑run dt_binding_check to
ensure the examples and properties are properly validated.

Best regards,
Lakshay