blob: ef287709b767bf5557c87c309b3d4ebde8c6b1b3 [file] [log] [blame]
# 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