xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/st,sti-i2c.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/i2c/st,sti-i2c.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: I2C controller embedded in STMicroelectronics STi platform
8
9maintainers:
10  - Patrice Chotard <patrice.chotard@foss.st.com>
11
12allOf:
13  - $ref: /schemas/i2c/i2c-controller.yaml#
14
15properties:
16  compatible:
17    enum:
18      - st,comms-ssc-i2c
19      - st,comms-ssc4-i2c
20
21  reg:
22    maxItems: 1
23
24  interrupts:
25    maxItems: 1
26
27  clocks:
28    maxItems: 1
29
30  clock-names:
31    maxItems: 1
32
33  clock-frequency:
34    enum: [ 100000, 400000 ]
35    default: 100000
36
37  st,i2c-min-scl-pulse-width-us:
38    description:
39      The minimum valid SCL pulse width that is allowed through the
40      deglitch circuit. In units of us.
41
42  st,i2c-min-sda-pulse-width-us:
43    description:
44      The minimum valid SDA pulse width that is allowed through the
45      deglitch circuit. In units of us.
46
47required:
48  - compatible
49  - reg
50  - interrupts
51  - clocks
52  - clock-names
53
54unevaluatedProperties: false
55
56examples:
57  - |
58    #include <dt-bindings/interrupt-controller/arm-gic.h>
59    #include <dt-bindings/clock/stih407-clks.h>
60    i2c@fed40000 {
61        compatible = "st,comms-ssc4-i2c";
62        reg = <0xfed40000 0x110>;
63        interrupts =  <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
64        clocks = <&clk_s_a0_ls CLK_ICN_REG>;
65        clock-names = "ssc";
66        clock-frequency = <400000>;
67        pinctrl-names = "default";
68        pinctrl-0 = <&pinctrl_i2c0_default>;
69        st,i2c-min-scl-pulse-width-us = <0>;
70        st,i2c-min-sda-pulse-width-us = <5>;
71    };
72