-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This patch adds support to SSC (Synchronous Serial Controller) I2C driver. This IP also supports SPI protocol, but this is not the aim of this driver. This IP is embedded in all ST SoCs for Set-top box platorms, and supports I2C Standard and Fast modes. Signed-off-by: Maxime Coquelin <maxime.coquelin@st.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
- Loading branch information
Maxime COQUELIN
authored and
Wolfram Sang
committed
Nov 14, 2013
1 parent
8a73cd4
commit 85b4fab
Showing
4 changed files
with
924 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
ST SSC binding, for I2C mode operation | ||
|
||
Required properties : | ||
- compatible : Must be "st,comms-ssc-i2c" or "st,comms-ssc4-i2c" | ||
- reg : Offset and length of the register set for the device | ||
- interrupts : the interrupt specifier | ||
- clock-names: Must contain "ssc". | ||
- clocks: Must contain an entry for each name in clock-names. See the common | ||
clock bindings. | ||
- A pinctrl state named "default" must be defined to set pins in mode of | ||
operation for I2C transfer. | ||
|
||
Optional properties : | ||
- clock-frequency : Desired I2C bus clock frequency in Hz. If not specified, | ||
the default 100 kHz frequency will be used. As only Normal and Fast modes | ||
are supported, possible values are 100000 and 400000. | ||
- st,i2c-min-scl-pulse-width-us : The minimum valid SCL pulse width that is | ||
allowed through the deglitch circuit. In units of us. | ||
- st,i2c-min-sda-pulse-width-us : The minimum valid SDA pulse width that is | ||
allowed through the deglitch circuit. In units of us. | ||
- A pinctrl state named "idle" could be defined to set pins in idle state | ||
when I2C instance is not performing a transfer. | ||
- A pinctrl state named "sleep" could be defined to set pins in sleep state | ||
when driver enters in suspend. | ||
|
||
|
||
|
||
Example : | ||
|
||
i2c0: i2c@fed40000 { | ||
compatible = "st,comms-ssc4-i2c"; | ||
reg = <0xfed40000 0x110>; | ||
interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; | ||
clocks = <&CLK_S_ICN_REG_0>; | ||
clock-names = "ssc"; | ||
clock-frequency = <400000>; | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&pinctrl_i2c0_default>; | ||
st,i2c-min-scl-pulse-width-us = <0>; | ||
st,i2c-min-sda-pulse-width-us = <5>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.