On 03/11/2023 10:16, Huangzheng Lai wrote: > Add a yaml file to replace the txt file. Due to the recent addition > of the 'reset' framework to the Spreadtrum I2C driver to reset the Where? I don't see it. Don't mix new properties with conversion. > controller, information related to the 'reset' attribute has been > added to the bindings file. > Mark/version your patches correctly (git format-patch -v2). Your subject claims it is v1. > Change in V2 Changelog goes to changelog place, so after ---. > -Rename 'i2c-sprd.txt' to 'sprd,sc9860-i2c.yaml'. > -Add ref to i2c-controller. > -Drop items in 'compatible'. > -Add describe for 'reg' items. > -Drop 'clocks' description and just maxItems: 3. > -Fix typo in 'clo-frequency': Contains. > -Add explanation in commit message explaining why 'resets' be added. > -Drop '#size-cells' and 'address-cells' in properties and required. > -Drop description of 'resets'. > -Add child node in examples. > > Signed-off-by: Huangzheng Lai <Huangzheng.Lai@xxxxxxxxxx> > --- > .../devicetree/bindings/i2c/i2c-sprd.txt | 31 -------- > .../bindings/i2c/sprd,sc9860-i2c.yaml | 75 +++++++++++++++++++ > 2 files changed, 75 insertions(+), 31 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-sprd.txt > create mode 100644 Documentation/devicetree/bindings/i2c/sprd,sc9860-i2c.yaml > > diff --git a/Documentation/devicetree/bindings/i2c/i2c-sprd.txt b/Documentation/devicetree/bindings/i2c/i2c-sprd.txt > deleted file mode 100644 > index 7b6b3b8d0d11..000000000000 > --- a/Documentation/devicetree/bindings/i2c/i2c-sprd.txt > +++ /dev/null > @@ -1,31 +0,0 @@ > -I2C for Spreadtrum platforms > - > -Required properties: > -- compatible: Should be "sprd,sc9860-i2c". > -- reg: Specify the physical base address of the controller and length > - of memory mapped region. > -- interrupts: Should contain I2C interrupt. > -- clock-names: Should contain following entries: > - "i2c" for I2C clock, > - "source" for I2C source (parent) clock, > - "enable" for I2C module enable clock. > -- clocks: Should contain a clock specifier for each entry in clock-names. > -- clock-frequency: Contains desired I2C bus clock frequency in Hz. > -- #address-cells: Should be 1 to describe address cells for I2C device address. > -- #size-cells: Should be 0 means no size cell for I2C device address. > - > -Optional properties: > -- Child nodes conforming to I2C bus binding > - > -Examples: > -i2c0: i2c@70500000 { > - compatible = "sprd,sc9860-i2c"; > - reg = <0 0x70500000 0 0x1000>; > - interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; > - clock-names = "i2c", "source", "enable"; > - clocks = <&clk_i2c3>, <&ext_26m>, <&clk_ap_apb_gates 11>; > - clock-frequency = <400000>; > - #address-cells = <1>; > - #size-cells = <0>; > -}; > - > diff --git a/Documentation/devicetree/bindings/i2c/sprd,sc9860-i2c.yaml b/Documentation/devicetree/bindings/i2c/sprd,sc9860-i2c.yaml > new file mode 100644 > index 000000000000..f7dd5f116e0c > --- /dev/null > +++ b/Documentation/devicetree/bindings/i2c/sprd,sc9860-i2c.yaml > @@ -0,0 +1,75 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +# Copyright 2020 Unisoc Inc. > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/i2c/sprd,sc9860-i2c.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Unisoc I2C Controller Device > + > +maintainers: > + - Huangzheng Lai <laihuangzheng@xxxxxxxxx> > + > +allOf: > + - $ref: /schemas/i2c/i2c-controller.yaml# > + > +properties: > + compatible: > + const: sprd,sc9860-i2c > + > + reg: > + description: physical base address of the controller, length of memory mapped region. > + maxItems: 2 > + > + interrupts: > + maxItems: 1 > + > + clock-names: > + items: > + - const: i2c > + - const: source > + - const: enable > + > + clocks: > + maxItems: 3 > + > + clock-frequency: > + description: Contains desired I2C bus clock frequency in Hz. > + minimum: 100000 > + maximum: 3400000 > + > + reset-names: > + const: i2c_rst This is not a conversion. Drop the names, not really useful for one entry. > + > + resets: > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - interrupts > + - clock-names > + - clocks > + > +additionalProperties: false Still not tested. Please test patches before sending. Due to untested code, I am not performing full review. > + > +examples: > + - | > + i2c0: i2c@2240000 { > + compatible = "sprd,sc9860-i2c"; Use 4 spaces for example indentation. > + reg = <0 0x2240000 0 0x1000>; Best regards, Krzysztof