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

Ryan Chen
2025-10-29T08:30:14Z

> Subject: Re: [PATCH v20 1/4] dt-bindings: i2c: Split AST2600 binding into a new
> YAML
>
> On 21/10/2025 03:35, Ryan Chen wrote:
> > The AST2600 I2C controller is a new hardware design compared to the
> > I2C controllers in previous ASPEED SoCs (e.g., AST2400, AST2500).
> >
> > It introduces new features such as:
> > - A redesigned register layout
> > - Separation between controller and target mode registers
> > - Transfer mode selection (byte, buffer, DMA)
> > - Support for a shared global register block for configuration
> >
> > Due to these fundamental differences, maintaining a separate
> > devicetree binding file for AST2600 helps to clearly distinguish the
> > hardware capabilities and configuration options from the older
> > controllers.
> >
> > Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
> > ---
> > .../devicetree/bindings/i2c/aspeed,i2c.yaml | 3 +-
> > .../devicetree/bindings/i2c/ast2600-i2c.yaml | 66
> > +++++++++++++++++++
> > 2 files changed, 67 insertions(+), 2 deletions(-) create mode 100644
> > Documentation/devicetree/bindings/i2c/ast2600-i2c.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml
> > b/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml
> > index 5b9bd2feda3b..d4e4f412feba 100644
> > --- a/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml
> > +++ b/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml
> > @@ -4,7 +4,7 @@
> > $id: http://devicetree.org/schemas/i2c/aspeed,i2c.yaml#
> > $schema: http://devicetree.org/meta-schemas/core.yaml#
> >
> > -title: ASPEED I2C on the AST24XX, AST25XX, and AST26XX SoCs
> > +title: ASPEED I2C on the AST24XX, AST25XX SoCs
> >
> > maintainers:
> > - Rayn Chen <rayn_chen@aspeedtech.com> @@ -17,7 +17,6 @@
> > properties:
> > enum:
> > - aspeed,ast2400-i2c-bus
> > - aspeed,ast2500-i2c-bus
> > - - aspeed,ast2600-i2c-bus
> >
> > reg:
> > minItems: 1
> > diff --git a/Documentation/devicetree/bindings/i2c/ast2600-i2c.yaml
> > b/Documentation/devicetree/bindings/i2c/ast2600-i2c.yaml
>
> Why completely breaking naming? Please follow writing bindings carefully.

Will update
$id: "http://devicetree.org/schemas/i2c/aspeed,ast2600-i2c.yaml#"
>
> > new file mode 100644
> > index 000000000000..6ddcec5decdc
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/i2c/ast2600-i2c.yaml
> > @@ -0,0 +1,66 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/i2c/ast2600-i2c.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: ASPEED I2C on the AST26XX SoCs
> > +
> > +maintainers:
> > + - Ryan Chen <ryan_chen@aspeedtech.com>
> > +
> > +allOf:
> > + - $ref: /schemas/i2c/i2c-controller.yaml#
> > +
> > +properties:
> > + compatible:
> > + enum:
> > + - aspeed,ast2600-i2c-bus
> > +
> > + reg:
> > + minItems: 1
>
> Why?

Will update as following.

reg:
minItems: 1
maxItems: 2
items:
- description: I2C bus register range
- description: Optional pool buffer register range

>
> > + items:
> > + - description: address offset and range of bus
> > + - description: address offset and range of bus buffer
> > +
> > + interrupts:
> > + maxItems: 1
> > +
> > + clocks:
> > + maxItems: 1
> > + description:
> > + root clock of bus, should reference the APB
> > + clock in the second cell
>
> That's not even correct.Either root clock or APB clock, you cannot have both.
> Unless "root clock" is not "clock" but then it is just confusing.
> Drop description and fix the constraints.

Thanks, will drop the description.
clocks:
maxItems: 1

>
> > +
> > + resets:
> > + maxItems: 1
> > +
> > + bus-frequency:
> > + minimum: 500
> > + maximum: 4000000
> > + default: 100000
> > + description: frequency of the bus clock in Hz defaults to 100 kHz when
> not
> > + specified
>
> Don't repeat constraints in free form text.

Will update
clock-frequency:
description: Desired I2C bus frequency in Hz
default: 100000

>
> > +
> > +required:
> > + - reg
> > + - compatible
>
>
>
> Best regards,
> Krzysztof