1# Copyright (c) 2023 Cypress Semiconductor Corporation (an Infineon company) or
2# an affiliate of Cypress Semiconductor Corporation
3#
4# SPDX-License-Identifier: Apache-2.0
5
6description: |
7  Infineon CAT1 I2C driver
8
9  This driver configures the SCB as an I2C device.
10
11  Example devicetree configuration with vl53l0x Time-of-Flight (ToF)
12  ranging sensor connected on the bus:
13
14  i2c3: &scb3 {
15      compatible = "infineon,cat1-i2c";
16      status = "okay";
17
18      #address-cells = <1>;
19      #size-cells = <0>;
20
21      pinctrl-0 = <&p6_0_scb3_i2c_scl &p6_1_scb3_i2c_sda>;
22      pinctrl-names = "default";
23
24      vl53l0x@29 {
25        compatible = "st,vl53l0x";
26        reg = <0x29>;
27      };
28  };
29
30  The pinctrl nodes need to be configured as open-drain and
31  input-enable:
32
33  &p6_0_scb3_i2c_scl {
34    drive-open-drain;
35    input-enable;
36  };
37
38  &p6_1_scb3_i2c_sda {
39    drive-open-drain;
40    input-enable;
41  };
42
43compatible: "infineon,cat1-i2c"
44
45include: [i2c-controller.yaml, pinctrl-device.yaml, "infineon,cat1-scb.yaml"]
46
47properties:
48  reg:
49    type: array
50    required: true
51
52  interrupts:
53    type: array
54    required: true
55
56  pinctrl-0:
57    description: |
58      PORT pin configuration for SCL, SDA signals.
59      We expect that the phandles will reference pinctrl nodes. These
60      nodes will have a nodelabel that matches the Infineon SoC Pinctrl
61      defines and have following
62      format: p<port>_<pin>_<peripheral inst>_<signal>.
63
64      Examples:
65        pinctrl-0 = <&p6_0_scb3_i2c_scl &p6_1_scb3_i2c_sda>;
66    required: true
67
68  pinctrl-names:
69    required: true
70
71  clock-frequency:
72    type: int
73    description: |
74      Frequency that the I2C bus runs
75