75 lines
1.6 KiB
YAML
75 lines
1.6 KiB
YAML
# 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
|