xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/hisilicon,ascend910-i2c.yaml (revision a64729f5077d77e13b9497cb33ecb3c82e606ee8)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/i2c/hisilicon,ascend910-i2c.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: HiSilicon common I2C controller
8
9maintainers:
10  - Yicong Yang <yangyicong@hisilicon.com>
11
12description:
13  The HiSilicon common I2C controller can be used for many different
14  types of SoC such as Huawei Ascend AI series chips.
15
16allOf:
17  - $ref: /schemas/i2c/i2c-controller.yaml#
18
19properties:
20  compatible:
21    const: hisilicon,ascend910-i2c
22
23  reg:
24    maxItems: 1
25
26  interrupts:
27    maxItems: 1
28
29  clocks:
30    maxItems: 1
31
32  clock-frequency:
33    default: 400000
34
35  i2c-sda-falling-time-ns:
36    default: 343
37
38  i2c-scl-falling-time-ns:
39    default: 203
40
41  i2c-sda-hold-time-ns:
42    default: 830
43
44  i2c-scl-rising-time-ns:
45    default: 365
46
47  i2c-digital-filter-width-ns:
48    default: 0
49
50required:
51  - compatible
52  - reg
53  - interrupts
54
55unevaluatedProperties: false
56
57examples:
58  - |
59    #include <dt-bindings/interrupt-controller/arm-gic.h>
60
61    i2c@38b0000 {
62      compatible = "hisilicon,ascend910-i2c";
63      reg = <0x38b0000 0x10000>;
64      interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
65      i2c-sda-falling-time-ns = <56>;
66      i2c-scl-falling-time-ns = <56>;
67      i2c-sda-hold-time-ns = <56>;
68      i2c-scl-rising-time-ns = <56>;
69      i2c-digital-filter;
70      i2c-digital-filter-width-ns = <0x0>;
71      clocks = <&alg_clk>;
72      clock-frequency = <400000>;
73    };
74