| # 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<port>_<pin>_<peripheral inst>_<signal>. |
| |
| 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 |