Message ID | 20210519080436.18975-4-jamin_lin@aspeedtech.com |
---|---|
State | New |
Headers | show |
Series | i2c: aspeed: avoid new registers definition of AST2600 | expand |
On Wed, 19 May 2021 16:04:29 +0800, Jamin Lin wrote: > Add global-reg node for AST2600. Document the properties for > "aspeed,ast2600-i2c-global" compatible node. > > Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com> > --- > .../devicetree/bindings/i2c/aspeed,i2c.yaml | 89 +++++++++++++++++++ > .../devicetree/bindings/i2c/i2c-aspeed.txt | 49 ---------- > 2 files changed, 89 insertions(+), 49 deletions(-) > create mode 100644 Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml > delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-aspeed.txt > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: Documentation/devicetree/bindings/i2c/aspeed,i2c.example.dt.yaml:0:0: /example-0/i2c-global-regs@0: failed to match any schema with compatible: ['aspeed,ast2600-i2c-global', 'syscon'] See https://patchwork.ozlabs.org/patch/1480769 This check can fail if there are any dependencies. The base for a patch series is generally the most recent rc1. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit.
On Wed, May 19, 2021 at 04:04:29PM +0800, Jamin Lin wrote: > Add global-reg node for AST2600. Document the properties for > "aspeed,ast2600-i2c-global" compatible node. > > Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com> > --- > .../devicetree/bindings/i2c/aspeed,i2c.yaml | 89 +++++++++++++++++++ > .../devicetree/bindings/i2c/i2c-aspeed.txt | 49 ---------- > 2 files changed, 89 insertions(+), 49 deletions(-) > create mode 100644 Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml > delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-aspeed.txt > > diff --git a/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml b/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml > new file mode 100644 > index 000000000000..f469487935bd > --- /dev/null > +++ b/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml > @@ -0,0 +1,89 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$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 Device Tree Bindings > + > +maintainers: > + - Rayn Chen <rayn_chen@aspeedtech.com> > + > +allOf: > + - $ref: /schemas/i2c/i2c-controller.yaml# > + > +properties: > + compatible: > + enum: > + - aspeed,ast2400-i2c-bus > + - aspeed,ast2500-i2c-bus > + - aspeed,ast2600-i2c-bus > + - aspeed,ast2600-i2c-global syscon "aspeed,ast2600-i2c-global syscon" is not a valid compatible value. What makes this a syscon? > + > + "#size-cells": > + const: 0 > + > + "#address-cells": > + const: 1 > + > + reg: > + minItems: 1 > + maxItems: 2 > + items: > + - description: address offset and range of bus > + - description: address offset and range of bus buffer > + > + interrupts: > + description: interrupt number > + > + clocks: > + description: > + root clock of bus, should reference the APB > + clock in the second cell How many clocks? Needs maxItems or items. > + > + reset: > + description: phandle to reset controller with the reset number in > + the second cell How many? > + > + bus-frequency: > + minimum: 10000 > + maximum: 3400000 > + default: 100000 > + description: frequency of the bus clock in Hz defaults to 100 kHz when not > + specified > + > + multi-master: > + maxItems: 1 multi-master is an array? > + description: > + states that there is another master active on this bus > + > +required: > + - reg > + - compatible > + - clocks > + - resets > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + #include <dt-bindings/clock/ast2600-clock.h> > + i2c_gr: i2c-global-regs@0 { > + compatible = "aspeed,ast2600-i2c-global", "syscon"; > + reg = <0x0 0x20>; > + clocks = <&syscon ASPEED_CLK_APB2>; > + resets = <&syscon ASPEED_RESET_I2C>; > + }; > + > + i2c0: i2c-bus@80 { > + #address-cells = <1>; > + #size-cells = <0>; > + #interrupt-cells = <1>; > + reg = <0x80 0x80>; > + compatible = "aspeed,ast2600-i2c-bus"; > + clocks = <&syscon ASPEED_CLK_APB2>; > + resets = <&syscon ASPEED_RESET_I2C>; > + interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; > + bus-frequency = <100000>; > + }; > diff --git a/Documentation/devicetree/bindings/i2c/i2c-aspeed.txt b/Documentation/devicetree/bindings/i2c/i2c-aspeed.txt > deleted file mode 100644 > index b47f6ccb196a..000000000000 > --- a/Documentation/devicetree/bindings/i2c/i2c-aspeed.txt > +++ /dev/null > @@ -1,49 +0,0 @@ > -Device tree configuration for the I2C busses on the AST24XX, AST25XX, and AST26XX SoCs. > - > -Required Properties: > -- #address-cells : should be 1 > -- #size-cells : should be 0 > -- reg : address offset and range of bus > -- compatible : should be "aspeed,ast2400-i2c-bus" > - or "aspeed,ast2500-i2c-bus" > - or "aspeed,ast2600-i2c-bus" > -- clocks : root clock of bus, should reference the APB > - clock in the second cell > -- resets : phandle to reset controller with the reset number in > - the second cell > -- interrupts : interrupt number > - > -Optional Properties: > -- bus-frequency : frequency of the bus clock in Hz defaults to 100 kHz when not > - specified > -- multi-master : states that there is another master active on this bus. > - > -Example: > - > -i2c { > - compatible = "simple-bus"; > - #address-cells = <1>; > - #size-cells = <1>; > - ranges = <0 0x1e78a000 0x1000>; > - > - i2c_ic: interrupt-controller@0 { > - #interrupt-cells = <1>; > - compatible = "aspeed,ast2400-i2c-ic"; > - reg = <0x0 0x40>; > - interrupts = <12>; > - interrupt-controller; > - }; > - > - i2c0: i2c-bus@40 { > - #address-cells = <1>; > - #size-cells = <0>; > - #interrupt-cells = <1>; > - reg = <0x40 0x40>; > - compatible = "aspeed,ast2400-i2c-bus"; > - clocks = <&syscon ASPEED_CLK_APB>; > - resets = <&syscon ASPEED_RESET_I2C>; > - bus-frequency = <100000>; > - interrupts = <0>; > - interrupt-parent = <&i2c_ic>; > - }; > -}; > -- > 2.17.1 >
The 05/19/2021 15:29, Rob Herring wrote: > On Wed, 19 May 2021 16:04:29 +0800, Jamin Lin wrote: > > Add global-reg node for AST2600. Document the properties for > > "aspeed,ast2600-i2c-global" compatible node. > > > > Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com> > > --- > > .../devicetree/bindings/i2c/aspeed,i2c.yaml | 89 +++++++++++++++++++ > > .../devicetree/bindings/i2c/i2c-aspeed.txt | 49 ---------- > > 2 files changed, 89 insertions(+), 49 deletions(-) > > create mode 100644 Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml > > delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-aspeed.txt > > > > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' > on your patch (DT_CHECKER_FLAGS is new in v5.13): > > yamllint warnings/errors: > > dtschema/dtc warnings/errors: > Documentation/devicetree/bindings/i2c/aspeed,i2c.example.dt.yaml:0:0: /example-0/i2c-global-regs@0: failed to match any schema with compatible: ['aspeed,ast2600-i2c-global', 'syscon'] > > See https://patchwork.ozlabs.org/patch/1480769 > > This check can fail if there are any dependencies. The base for a patch > series is generally the most recent rc1. > > If you already ran 'make dt_binding_check' and didn't see the above > error(s), then make sure 'yamllint' is installed and dt-schema is up to > date: > > pip3 install dtschema --upgrade > > Please check and re-submit. > Thanks for your review. yes, I did not add "DT_CHECKER_FLAGS" to check my patch. I will re-sent this patch. Thanks
diff --git a/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml b/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml new file mode 100644 index 000000000000..f469487935bd --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml @@ -0,0 +1,89 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$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 Device Tree Bindings + +maintainers: + - Rayn Chen <rayn_chen@aspeedtech.com> + +allOf: + - $ref: /schemas/i2c/i2c-controller.yaml# + +properties: + compatible: + enum: + - aspeed,ast2400-i2c-bus + - aspeed,ast2500-i2c-bus + - aspeed,ast2600-i2c-bus + - aspeed,ast2600-i2c-global syscon + + "#size-cells": + const: 0 + + "#address-cells": + const: 1 + + reg: + minItems: 1 + maxItems: 2 + items: + - description: address offset and range of bus + - description: address offset and range of bus buffer + + interrupts: + description: interrupt number + + clocks: + description: + root clock of bus, should reference the APB + clock in the second cell + + reset: + description: phandle to reset controller with the reset number in + the second cell + + bus-frequency: + minimum: 10000 + maximum: 3400000 + default: 100000 + description: frequency of the bus clock in Hz defaults to 100 kHz when not + specified + + multi-master: + maxItems: 1 + description: + states that there is another master active on this bus + +required: + - reg + - compatible + - clocks + - resets + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/clock/ast2600-clock.h> + i2c_gr: i2c-global-regs@0 { + compatible = "aspeed,ast2600-i2c-global", "syscon"; + reg = <0x0 0x20>; + clocks = <&syscon ASPEED_CLK_APB2>; + resets = <&syscon ASPEED_RESET_I2C>; + }; + + i2c0: i2c-bus@80 { + #address-cells = <1>; + #size-cells = <0>; + #interrupt-cells = <1>; + reg = <0x80 0x80>; + compatible = "aspeed,ast2600-i2c-bus"; + clocks = <&syscon ASPEED_CLK_APB2>; + resets = <&syscon ASPEED_RESET_I2C>; + interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; + bus-frequency = <100000>; + }; diff --git a/Documentation/devicetree/bindings/i2c/i2c-aspeed.txt b/Documentation/devicetree/bindings/i2c/i2c-aspeed.txt deleted file mode 100644 index b47f6ccb196a..000000000000 --- a/Documentation/devicetree/bindings/i2c/i2c-aspeed.txt +++ /dev/null @@ -1,49 +0,0 @@ -Device tree configuration for the I2C busses on the AST24XX, AST25XX, and AST26XX SoCs. - -Required Properties: -- #address-cells : should be 1 -- #size-cells : should be 0 -- reg : address offset and range of bus -- compatible : should be "aspeed,ast2400-i2c-bus" - or "aspeed,ast2500-i2c-bus" - or "aspeed,ast2600-i2c-bus" -- clocks : root clock of bus, should reference the APB - clock in the second cell -- resets : phandle to reset controller with the reset number in - the second cell -- interrupts : interrupt number - -Optional Properties: -- bus-frequency : frequency of the bus clock in Hz defaults to 100 kHz when not - specified -- multi-master : states that there is another master active on this bus. - -Example: - -i2c { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <1>; - ranges = <0 0x1e78a000 0x1000>; - - i2c_ic: interrupt-controller@0 { - #interrupt-cells = <1>; - compatible = "aspeed,ast2400-i2c-ic"; - reg = <0x0 0x40>; - interrupts = <12>; - interrupt-controller; - }; - - i2c0: i2c-bus@40 { - #address-cells = <1>; - #size-cells = <0>; - #interrupt-cells = <1>; - reg = <0x40 0x40>; - compatible = "aspeed,ast2400-i2c-bus"; - clocks = <&syscon ASPEED_CLK_APB>; - resets = <&syscon ASPEED_RESET_I2C>; - bus-frequency = <100000>; - interrupts = <0>; - interrupt-parent = <&i2c_ic>; - }; -};
Add global-reg node for AST2600. Document the properties for "aspeed,ast2600-i2c-global" compatible node. Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com> --- .../devicetree/bindings/i2c/aspeed,i2c.yaml | 89 +++++++++++++++++++ .../devicetree/bindings/i2c/i2c-aspeed.txt | 49 ---------- 2 files changed, 89 insertions(+), 49 deletions(-) create mode 100644 Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-aspeed.txt