RE: [PATCH v20 1/4] dt-bindings: i2c: Split AST2600 binding into a new YAML

Ryan Chen
2025-10-24T12:47:56Z

> Subject: Re: [PATCH v20 1/4] dt-bindings: i2c: Split AST2600 binding into a new
> YAML
>
> On 24/10/2025 10:40, Jeremy Kerr wrote:
> > Hi Krzysztof,
> >
> >> On 24/10/2025 09:56, Jeremy Kerr wrote:
> >>> Hi Krzysztof,
> >>>
> >>>> Although now I saw next patch, so clearly this commit is
> >>>> incomplete.
> >>>
> >>> The split that Ryan has done here - by shifting to an identical
> >>> separate binding, then making the changes explicit - allows us to
> >>> review the actual changes without losing them in the move. Sounds
> >>> like a benefit to me?
> >>
> >> Not related. I commented that rationale is incomplete. We do not move
> >> parts of bindings because new device is someway different. There are
> >> hundreds of bindings which cover different devices. We move them
> >> because the binding is different.
> >
> > OK, but in that case I think we're after guidance on the threshold for
> > "difference" here.
> >
> >> Not much different than every other soc. All of them are separate IPs.
> >> Look at any Samsung, NXP or Qualcomm binding. Separate IPs.
> >
> > So, something like this?
> >
> > allOf:
> > - $ref: /schemas/i2c/i2c-controller.yaml#
> > - if:
> > properties:
> > compatible:
> > contains:
> > enum:
> > - aspeed,ast2600-i2c-bus
> > then:
> > required:
> > - aspeed,global-regs
>
>
> else:
> properties:
> ... : false
>
> >
> >

I will modify with following.
if:
properties:
compatible:
contains:
enum:
- aspeed,ast2600-i2c-bus
then:
required:
- aspeed,global-regs
else:
properties:
aspeed,transfer-mode: false
aspeed,global-regs: false

> > I can't see how we could represent aspeed,transfer-mode though, as
> > it's optional on aspeed,ast2600-i2c-bus, but prohibited on others. Any
> > hints on that?
>
>
> It's shown in the example-schema, if we go that way.
>
> Best regards,
> Krzysztof