# Copyright (c) 2023 Cypress Semiconductor Corporation (an Infineon company) or # an affiliate of Cypress Semiconductor Corporation # # SPDX-License-Identifier: Apache-2.0 description: | Infineon CAT1 I2C driver This driver configures the SCB as an I2C device. Example devicetree configuration with vl53l0x Time-of-Flight (ToF) ranging sensor connected on the bus: i2c3: &scb3 { compatible = "infineon,cat1-i2c"; status = "okay"; #address-cells = <1>; #size-cells = <0>; pinctrl-0 = <&p6_0_scb3_i2c_scl &p6_1_scb3_i2c_sda>; pinctrl-names = "default"; vl53l0x@29 { compatible = "st,vl53l0x"; reg = <0x29>; }; }; The pinctrl nodes need to be configured as open-drain and input-enable: &p6_0_scb3_i2c_scl { drive-open-drain; input-enable; }; &p6_1_scb3_i2c_sda { drive-open-drain; input-enable; }; compatible: "infineon,cat1-i2c" include: [i2c-controller.yaml, pinctrl-device.yaml, "infineon,cat1-scb.yaml"] properties: reg: type: array required: true interrupts: type: array required: true pinctrl-0: description: | PORT pin configuration for SCL, SDA signals. We expect that the phandles will reference pinctrl nodes. These nodes will have a nodelabel that matches the Infineon SoC Pinctrl defines and have following format: p___. Examples: pinctrl-0 = <&p6_0_scb3_i2c_scl &p6_1_scb3_i2c_sda>; required: true pinctrl-names: required: true clock-frequency: type: int description: | Frequency that the I2C bus runs