162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/i2c/hisilicon,ascend910-i2c.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: HiSilicon common I2C controller
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Yicong Yang <yangyicong@hisilicon.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription:
1362306a36Sopenharmony_ci  The HiSilicon common I2C controller can be used for many different
1462306a36Sopenharmony_ci  types of SoC such as Huawei Ascend AI series chips.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciallOf:
1762306a36Sopenharmony_ci  - $ref: /schemas/i2c/i2c-controller.yaml#
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciproperties:
2062306a36Sopenharmony_ci  compatible:
2162306a36Sopenharmony_ci    const: hisilicon,ascend910-i2c
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci  reg:
2462306a36Sopenharmony_ci    maxItems: 1
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci  interrupts:
2762306a36Sopenharmony_ci    maxItems: 1
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci  clocks:
3062306a36Sopenharmony_ci    maxItems: 1
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci  clock-frequency:
3362306a36Sopenharmony_ci    default: 400000
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci  i2c-sda-falling-time-ns:
3662306a36Sopenharmony_ci    default: 343
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci  i2c-scl-falling-time-ns:
3962306a36Sopenharmony_ci    default: 203
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci  i2c-sda-hold-time-ns:
4262306a36Sopenharmony_ci    default: 830
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci  i2c-scl-rising-time-ns:
4562306a36Sopenharmony_ci    default: 365
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci  i2c-digital-filter-width-ns:
4862306a36Sopenharmony_ci    default: 0
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_cirequired:
5162306a36Sopenharmony_ci  - compatible
5262306a36Sopenharmony_ci  - reg
5362306a36Sopenharmony_ci  - interrupts
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ciunevaluatedProperties: false
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ciexamples:
5862306a36Sopenharmony_ci  - |
5962306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci    i2c@38b0000 {
6262306a36Sopenharmony_ci      compatible = "hisilicon,ascend910-i2c";
6362306a36Sopenharmony_ci      reg = <0x38b0000 0x10000>;
6462306a36Sopenharmony_ci      interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
6562306a36Sopenharmony_ci      i2c-sda-falling-time-ns = <56>;
6662306a36Sopenharmony_ci      i2c-scl-falling-time-ns = <56>;
6762306a36Sopenharmony_ci      i2c-sda-hold-time-ns = <56>;
6862306a36Sopenharmony_ci      i2c-scl-rising-time-ns = <56>;
6962306a36Sopenharmony_ci      i2c-digital-filter;
7062306a36Sopenharmony_ci      i2c-digital-filter-width-ns = <0x0>;
7162306a36Sopenharmony_ci      clocks = <&alg_clk>;
7262306a36Sopenharmony_ci      clock-frequency = <400000>;
7362306a36Sopenharmony_ci    };
74