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