xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/i2c/i2c-st.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunST SSC binding, for I2C mode operation
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunRequired properties :
4*4882a593Smuzhiyun- compatible : Must be "st,comms-ssc-i2c" or "st,comms-ssc4-i2c"
5*4882a593Smuzhiyun- reg : Offset and length of the register set for the device
6*4882a593Smuzhiyun- interrupts : the interrupt specifier
7*4882a593Smuzhiyun- clock-names: Must contain "ssc".
8*4882a593Smuzhiyun- clocks: Must contain an entry for each name in clock-names. See the common
9*4882a593Smuzhiyun  clock bindings.
10*4882a593Smuzhiyun- A pinctrl state named "default" must be defined to set pins in mode of
11*4882a593Smuzhiyun  operation for I2C transfer.
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunOptional properties :
14*4882a593Smuzhiyun- clock-frequency : Desired I2C bus clock frequency in Hz. If not specified,
15*4882a593Smuzhiyun  the default 100 kHz frequency will be used. As only Normal and Fast modes
16*4882a593Smuzhiyun  are supported, possible values are 100000 and 400000.
17*4882a593Smuzhiyun- st,i2c-min-scl-pulse-width-us : The minimum valid SCL pulse width that is
18*4882a593Smuzhiyun  allowed through the deglitch circuit. In units of us.
19*4882a593Smuzhiyun- st,i2c-min-sda-pulse-width-us : The minimum valid SDA pulse width that is
20*4882a593Smuzhiyun  allowed through the deglitch circuit. In units of us.
21*4882a593Smuzhiyun- A pinctrl state named "idle" could be defined to set pins in idle state
22*4882a593Smuzhiyun  when I2C instance is not performing a transfer.
23*4882a593Smuzhiyun- A pinctrl state named "sleep" could be defined to set pins in sleep state
24*4882a593Smuzhiyun  when driver enters in suspend.
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun
28*4882a593SmuzhiyunExample :
29*4882a593Smuzhiyun
30*4882a593Smuzhiyuni2c0: i2c@fed40000 {
31*4882a593Smuzhiyun	compatible	= "st,comms-ssc4-i2c";
32*4882a593Smuzhiyun	reg		= <0xfed40000 0x110>;
33*4882a593Smuzhiyun	interrupts	=  <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
34*4882a593Smuzhiyun	clocks		= <&clk_s_a0_ls CLK_ICN_REG>;
35*4882a593Smuzhiyun	clock-names	= "ssc";
36*4882a593Smuzhiyun	clock-frequency = <400000>;
37*4882a593Smuzhiyun	pinctrl-names	= "default";
38*4882a593Smuzhiyun	pinctrl-0	= <&pinctrl_i2c0_default>;
39*4882a593Smuzhiyun	st,i2c-min-scl-pulse-width-us = <0>;
40*4882a593Smuzhiyun	st,i2c-min-sda-pulse-width-us = <5>;
41*4882a593Smuzhiyun};
42