ite,it8xxx2-i2c

Vendor: ITE Tech. Inc.

Description

These nodes are “i2c” bus nodes.

ITE it8xxx2 I2C

Properties

Properties not inherited from the base binding file.

Name

Type

Details

clock-frequency

int

Initial clock frequency in Hz

sq-size

int

Size of the submission queue for blocking requests

Default value: 4

cq-size

int

Size of the completion queue for blocking requests

Default value: 4

pinctrl-0

phandles

Pin configuration/s for the first state. Content is specific to the
selected pin controller driver implementation.

This property is required.

pinctrl-1

phandles

Pin configuration/s for the second state. See pinctrl-0.

pinctrl-2

phandles

Pin configuration/s for the third state. See pinctrl-0.

pinctrl-3

phandles

Pin configuration/s for the fourth state. See pinctrl-0.

pinctrl-4

phandles

Pin configuration/s for the fifth state. See pinctrl-0.

pinctrl-names

string-array

Names for the provided states. The number of names needs to match the
number of states.

This property is required.

port-num

int

Ordinal identifying the port 0 = SMB_CHANNEL_A, 1 = SMB_CHANNEL_B, 2 = SMB_CHANNEL_C, 3 = I2C_CHANNEL_D, 4 = I2C_CHANNEL_E, 5 = I2C_CHANNEL_F,

This property is required.

Legal values: 0, 1, 2, 3, 4, 5

channel-switch-sel

int

The default setting is as described below
0 = I2C_CHA_LOCATE: Channel A is located at SMCLK0/SMDAT0
1 = I2C_CHB_LOCATE: Channel B is located at SMCLK1/SMDAT1
2 = I2C_CHC_LOCATE: Channel C is located at SMCLK2/SMDAT2
3 = I2C_CHD_LOCATE: Channel D is located at SMCLK3/SMDAT3
4 = I2C_CHE_LOCATE: Channel E is located at SMCLK4/SMDAT4
5 = I2C_CHF_LOCATE: Channel F is located at SMCLK5/SMDAT5

The following is an example of the 'channel-switch-sel' property
being swapped between node &i2c0 and &i2c2 in the application:
Note: The property of 'port-num' cannot be changed in the
      application.

Channel C is located at SMCLK0/SMDAT0:
&i2c0 {
       channel-switch-sel = <I2C_CHC_LOCATE>;
       pinctrl-0 = <&i2c2_clk_gpf6_default
                    &i2c2_data_gpf7_default>;
       pinctrl-names = "default";
       scl-gpios = <&gpiof 6 0>;
       sda-gpios = <&gpiof 7 0>;
};

Channel A is located at SMCLK2/SMDAT2:
&i2c2 {
       channel-switch-sel = <I2C_CHA_LOCATE>;
       pinctrl-0 = <&i2c0_clk_gpb3_default
                    &i2c0_data_gpb4_default>;
       pinctrl-names = "default";
       scl-gpios = <&gpiob 3 0>;
       sda-gpios = <&gpiob 4 0>;
};

If the property of 'channel-switch-sel' is changed, the pinctrl
setting and recovery pin in &i2c0 and &i2c2 nodes must also be
modified accordingly.

This property is required.

Legal values: 0, 1, 2, 3, 4, 5

scl-gpios

phandle-array

The SCL pin for the selected port.

This property is required.

sda-gpios

phandle-array

The SDA pin for the selected port.

This property is required.

clock-gate-offset

int

The clock gate offsets combine the register offset from
ECPM_BASE and the mask within that register into one value.

This property is required.

transfer-timeout-ms

int

Maximum time allowed for an I2C transfer.

Default value: 100

push-pull-recovery

boolean

This property is enabled when selecting the push-pull GPIO output
type to drive the I2C recovery. The default is open-drain.

fifo-enable

boolean

FIFO1 supports channel A.
FIFO2 supports channel B.