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