[next,v7,2/2] dt-bindings: i2c: add entry for hisilicon,i2c-ascend910

Message ID 20221021035638.203929-2-chenweilong@huawei.com
State New
Headers
Series [next,v7,1/2] i2c: hisi: Add initial device tree support |

Commit Message

chenweilong Oct. 21, 2022, 3:56 a.m. UTC
  Add the new compatible for HiSilicon i2c.

Signed-off-by: Weilong Chen <chenweilong@huawei.com>
---
Change since v6:
- Rename to hisilicon,i2c-ascend910.yaml
- Change all IIC to I2C
- Add maintainer name
Link: https://lore.kernel.org/lkml/7520818b-de40-7f2a-1b03-b1dcd29a2023@huawei.com/T/#ma89d78cef45e7ac6f2c6251ed958e8658e5c1eb5

 .../bindings/i2c/hisilicon,i2c-ascend910.yaml | 70 +++++++++++++++++++
 MAINTAINERS                                   |  1 +
 2 files changed, 71 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/i2c/hisilicon,i2c-ascend910.yaml
  

Comments

Rob Herring Oct. 21, 2022, 1:07 p.m. UTC | #1
On Fri, 21 Oct 2022 11:56:38 +0800, Weilong Chen wrote:
> Add the new compatible for HiSilicon i2c.
> 
> Signed-off-by: Weilong Chen <chenweilong@huawei.com>
> ---
> Change since v6:
> - Rename to hisilicon,i2c-ascend910.yaml
> - Change all IIC to I2C
> - Add maintainer name
> Link: https://lore.kernel.org/lkml/7520818b-de40-7f2a-1b03-b1dcd29a2023@huawei.com/T/#ma89d78cef45e7ac6f2c6251ed958e8658e5c1eb5
> 
>  .../bindings/i2c/hisilicon,i2c-ascend910.yaml | 70 +++++++++++++++++++
>  MAINTAINERS                                   |  1 +
>  2 files changed, 71 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/i2c/hisilicon,i2c-ascend910.yaml
> 

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/hisilicon,i2c-ascend910.yaml: $id: relative path/filename doesn't match actual path or filename
	expected: http://devicetree.org/schemas/i2c/hisilicon,i2c-ascend910.yaml#

doc reference errors (make refcheckdocs):
MAINTAINERS: Documentation/devicetree/bindings/i2c/hisilicon,i2c-xxx.yaml

See https://patchwork.ozlabs.org/patch/

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.
  
Krzysztof Kozlowski Oct. 28, 2022, 11:45 p.m. UTC | #2
On 20/10/2022 23:56, Weilong Chen wrote:
> Add the new compatible for HiSilicon i2c.
> 
> Signed-off-by: Weilong Chen <chenweilong@huawei.com>
> ---
> Change since v6:
> - Rename to hisilicon,i2c-ascend910.yaml
> - Change all IIC to I2C
> - Add maintainer name
> Link: https://lore.kernel.org/lkml/7520818b-de40-7f2a-1b03-b1dcd29a2023@huawei.com/T/#ma89d78cef45e7ac6f2c6251ed958e8658e5c1eb5
> 

Please use scripts/get_maintainers.pl to get a list of necessary people
and lists to CC.  It might happen, that command when run on an older
kernel, gives you outdated entries.  Therefore please be sure you base
your patches on recent Linux kernel.


>  .../bindings/i2c/hisilicon,i2c-ascend910.yaml | 70 +++++++++++++++++++
>  MAINTAINERS                                   |  1 +
>  2 files changed, 71 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/i2c/hisilicon,i2c-ascend910.yaml
> 
> diff --git a/Documentation/devicetree/bindings/i2c/hisilicon,i2c-ascend910.yaml b/Documentation/devicetree/bindings/i2c/hisilicon,i2c-ascend910.yaml
> new file mode 100644
> index 000000000000..f4f532d69670
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/i2c/hisilicon,i2c-ascend910.yaml
> @@ -0,0 +1,70 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/i2c/hisilicon,i2c-xxx.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"

Drop quotes

> +
> +title: HiSilicon common I2C controller Device Tree Bindings

Drop "Device Tree bindings"

> +
> +maintainers:
> +  - Yicong Yang <yangyicong@hisilicon.com>
> +
> +allOf:
> +  - $ref: /schemas/i2c/i2c-controller.yaml#
> +
> +properties:
> +  compatible:
> +    const: hisilicon,i2c-ascend910
> +    description:
> +      The HiSilicon common I2C controller can be used for many different
> +      types of SoC such as Huawei Ascend AI series chips.

Description goes to top level description.

> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 1
> +
> +  clock-frequency:
> +    default: 400000
> +
> +  i2c-sda-falling-time-ns:
> +    default: 343
> +
> +  i2c-scl-falling-time-ns:
> +    default: 203
> +
> +  i2c-sda-hold-time-ns:
> +    default: 830
> +
> +  i2c-scl-rising-time-ns:
> +    default: 365
> +
> +  i2c-digital-filter-width-ns:
> +    default: 0
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    i2c@5038b0000 {
> +      compatible = "hisilicon,i2c-ascend910";
> +      reg = <0x38b0000 0x10000>;
> +      interrupts = <0x0 120 0x4>;

Use defines for constants.

Best regards,
Krzysztof
  
chenweilong Oct. 29, 2022, 11:53 a.m. UTC | #3
On 2022/10/29 7:45, Krzysztof Kozlowski wrote:
> On 20/10/2022 23:56, Weilong Chen wrote:
>> Add the new compatible for HiSilicon i2c.
>>
>> Signed-off-by: Weilong Chen <chenweilong@huawei.com>
>> ---
>> Change since v6:
>> - Rename to hisilicon,i2c-ascend910.yaml
>> - Change all IIC to I2C
>> - Add maintainer name
>> Link: https://lore.kernel.org/lkml/7520818b-de40-7f2a-1b03-b1dcd29a2023@huawei.com/T/#ma89d78cef45e7ac6f2c6251ed958e8658e5c1eb5
>>
> Please use scripts/get_maintainers.pl to get a list of necessary people
> and lists to CC.  It might happen, that command when run on an older
> kernel, gives you outdated entries.  Therefore please be sure you base
> your patches on recent Linux kernel.

Thanks for review, I'll fix this.

>
>
>>  .../bindings/i2c/hisilicon,i2c-ascend910.yaml | 70 +++++++++++++++++++
>>  MAINTAINERS                                   |  1 +
>>  2 files changed, 71 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/i2c/hisilicon,i2c-ascend910.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/i2c/hisilicon,i2c-ascend910.yaml b/Documentation/devicetree/bindings/i2c/hisilicon,i2c-ascend910.yaml
>> new file mode 100644
>> index 000000000000..f4f532d69670
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/i2c/hisilicon,i2c-ascend910.yaml
>> @@ -0,0 +1,70 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: "http://devicetree.org/schemas/i2c/hisilicon,i2c-xxx.yaml#"
>> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> Drop quotes
>
>> +
>> +title: HiSilicon common I2C controller Device Tree Bindings
> Drop "Device Tree bindings"
>
>> +
>> +maintainers:
>> +  - Yicong Yang <yangyicong@hisilicon.com>
>> +
>> +allOf:
>> +  - $ref: /schemas/i2c/i2c-controller.yaml#
>> +
>> +properties:
>> +  compatible:
>> +    const: hisilicon,i2c-ascend910
>> +    description:
>> +      The HiSilicon common I2C controller can be used for many different
>> +      types of SoC such as Huawei Ascend AI series chips.
> Description goes to top level description.
>
>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +  interrupts:
>> +    maxItems: 1
>> +
>> +  clocks:
>> +    maxItems: 1
>> +
>> +  clock-frequency:
>> +    default: 400000
>> +
>> +  i2c-sda-falling-time-ns:
>> +    default: 343
>> +
>> +  i2c-scl-falling-time-ns:
>> +    default: 203
>> +
>> +  i2c-sda-hold-time-ns:
>> +    default: 830
>> +
>> +  i2c-scl-rising-time-ns:
>> +    default: 365
>> +
>> +  i2c-digital-filter-width-ns:
>> +    default: 0
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - interrupts
>> +
>> +unevaluatedProperties: false
>> +
>> +examples:
>> +  - |
>> +    i2c@5038b0000 {
>> +      compatible = "hisilicon,i2c-ascend910";
>> +      reg = <0x38b0000 0x10000>;
>> +      interrupts = <0x0 120 0x4>;
> Use defines for constants.
>
> Best regards,
> Krzysztof
>
> .
  

Patch

diff --git a/Documentation/devicetree/bindings/i2c/hisilicon,i2c-ascend910.yaml b/Documentation/devicetree/bindings/i2c/hisilicon,i2c-ascend910.yaml
new file mode 100644
index 000000000000..f4f532d69670
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/hisilicon,i2c-ascend910.yaml
@@ -0,0 +1,70 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/i2c/hisilicon,i2c-xxx.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: HiSilicon common I2C controller Device Tree Bindings
+
+maintainers:
+  - Yicong Yang <yangyicong@hisilicon.com>
+
+allOf:
+  - $ref: /schemas/i2c/i2c-controller.yaml#
+
+properties:
+  compatible:
+    const: hisilicon,i2c-ascend910
+    description:
+      The HiSilicon common I2C controller can be used for many different
+      types of SoC such as Huawei Ascend AI series chips.
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  clock-frequency:
+    default: 400000
+
+  i2c-sda-falling-time-ns:
+    default: 343
+
+  i2c-scl-falling-time-ns:
+    default: 203
+
+  i2c-sda-hold-time-ns:
+    default: 830
+
+  i2c-scl-rising-time-ns:
+    default: 365
+
+  i2c-digital-filter-width-ns:
+    default: 0
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    i2c@5038b0000 {
+      compatible = "hisilicon,i2c-ascend910";
+      reg = <0x38b0000 0x10000>;
+      interrupts = <0x0 120 0x4>;
+      i2c-sda-falling-time-ns = <56>;
+      i2c-scl-falling-time-ns = <56>;
+      i2c-sda-hold-time-ns = <56>;
+      i2c-scl-rising-time-ns = <56>;
+      i2c-digital-filter;
+      i2c-digital-filter-width-ns = <0x0>;
+      clocks = <&alg_clk>;
+      clock-frequency = <400000>;
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index ad32dc9c4822..961e4442fb08 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -9211,6 +9211,7 @@  M:	Yicong Yang <yangyicong@hisilicon.com>
 L:	linux-i2c@vger.kernel.org
 S:	Maintained
 W:	https://www.hisilicon.com
+F:	Documentation/devicetree/bindings/i2c/hisilicon,i2c-xxx.yaml
 F:	drivers/i2c/busses/i2c-hisi.c
 
 HISILICON LPC BUS DRIVER