aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/i2c
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/devicetree/bindings/i2c')
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-bcm-kona.txt35
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-exynos5.txt44
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-rcar.txt23
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-st.txt41
4 files changed, 143 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/i2c/i2c-bcm-kona.txt b/Documentation/devicetree/bindings/i2c/i2c-bcm-kona.txt
new file mode 100644
index 000000000000..1b87b741fa8e
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/i2c-bcm-kona.txt
@@ -0,0 +1,35 @@
1Broadcom Kona Family I2C
2=========================
3
4This I2C controller is used in the following Broadcom SoCs:
5
6 BCM11130
7 BCM11140
8 BCM11351
9 BCM28145
10 BCM28155
11
12Required Properties
13-------------------
14- compatible: "brcm,bcm11351-i2c", "brcm,kona-i2c"
15- reg: Physical base address and length of controller registers
16- interrupts: The interrupt number used by the controller
17- clocks: clock specifier for the kona i2c external clock
18- clock-frequency: The I2C bus frequency in Hz
19- #address-cells: Should be <1>
20- #size-cells: Should be <0>
21
22Refer to clocks/clock-bindings.txt for generic clock consumer
23properties.
24
25Example:
26
27i2c@3e016000 {
28 compatible = "brcm,bcm11351-i2c","brcm,kona-i2c";
29 reg = <0x3e016000 0x80>;
30 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
31 clocks = <&bsc1_clk>;
32 clock-frequency = <400000>;
33 #address-cells = <1>;
34 #size-cells = <0>;
35};
diff --git a/Documentation/devicetree/bindings/i2c/i2c-exynos5.txt b/Documentation/devicetree/bindings/i2c/i2c-exynos5.txt
new file mode 100644
index 000000000000..056732cfdcee
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/i2c-exynos5.txt
@@ -0,0 +1,44 @@
1* Samsung's High Speed I2C controller
2
3The Samsung's High Speed I2C controller is used to interface with I2C devices
4at various speeds ranging from 100khz to 3.4Mhz.
5
6Required properties:
7 - compatible: value should be.
8 -> "samsung,exynos5-hsi2c", for i2c compatible with exynos5 hsi2c.
9 - reg: physical base address of the controller and length of memory mapped
10 region.
11 - interrupts: interrupt number to the cpu.
12 - #address-cells: always 1 (for i2c addresses)
13 - #size-cells: always 0
14
15 - Pinctrl:
16 - pinctrl-0: Pin control group to be used for this controller.
17 - pinctrl-names: Should contain only one value - "default".
18
19Optional properties:
20 - clock-frequency: Desired operating frequency in Hz of the bus.
21 -> If not specified, the bus operates in fast-speed mode at
22 at 100khz.
23 -> If specified, the bus operates in high-speed mode only if the
24 clock-frequency is >= 1Mhz.
25
26Example:
27
28hsi2c@12ca0000 {
29 compatible = "samsung,exynos5-hsi2c";
30 reg = <0x12ca0000 0x100>;
31 interrupts = <56>;
32 clock-frequency = <100000>;
33
34 pinctrl-0 = <&i2c4_bus>;
35 pinctrl-names = "default";
36
37 #address-cells = <1>;
38 #size-cells = <0>;
39
40 s2mps11_pmic@66 {
41 compatible = "samsung,s2mps11-pmic";
42 reg = <0x66>;
43 };
44};
diff --git a/Documentation/devicetree/bindings/i2c/i2c-rcar.txt b/Documentation/devicetree/bindings/i2c/i2c-rcar.txt
new file mode 100644
index 000000000000..897cfcd5ce92
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/i2c-rcar.txt
@@ -0,0 +1,23 @@
1I2C for R-Car platforms
2
3Required properties:
4- compatible: Must be one of
5 "renesas,i2c-rcar"
6 "renesas,i2c-r8a7778"
7 "renesas,i2c-r8a7779"
8 "renesas,i2c-r8a7790"
9- reg: physical base address of the controller and length of memory mapped
10 region.
11- interrupts: interrupt specifier.
12
13Optional properties:
14- clock-frequency: desired I2C bus clock frequency in Hz. The absence of this
15 propoerty indicates the default frequency 100 kHz.
16
17Examples :
18
19i2c0: i2c@e6500000 {
20 compatible = "renesas,i2c-rcar-h2";
21 reg = <0 0xe6500000 0 0x428>;
22 interrupts = <0 174 0x4>;
23};
diff --git a/Documentation/devicetree/bindings/i2c/i2c-st.txt b/Documentation/devicetree/bindings/i2c/i2c-st.txt
new file mode 100644
index 000000000000..437e0db3823c
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/i2c-st.txt
@@ -0,0 +1,41 @@
1ST SSC binding, for I2C mode operation
2
3Required properties :
4- compatible : Must be "st,comms-ssc-i2c" or "st,comms-ssc4-i2c"
5- reg : Offset and length of the register set for the device
6- interrupts : the interrupt specifier
7- clock-names: Must contain "ssc".
8- clocks: Must contain an entry for each name in clock-names. See the common
9 clock bindings.
10- A pinctrl state named "default" must be defined to set pins in mode of
11 operation for I2C transfer.
12
13Optional properties :
14- clock-frequency : Desired I2C bus clock frequency in Hz. If not specified,
15 the default 100 kHz frequency will be used. As only Normal and Fast modes
16 are supported, possible values are 100000 and 400000.
17- st,i2c-min-scl-pulse-width-us : The minimum valid SCL pulse width that is
18 allowed through the deglitch circuit. In units of us.
19- st,i2c-min-sda-pulse-width-us : The minimum valid SDA pulse width that is
20 allowed through the deglitch circuit. In units of us.
21- A pinctrl state named "idle" could be defined to set pins in idle state
22 when I2C instance is not performing a transfer.
23- A pinctrl state named "sleep" could be defined to set pins in sleep state
24 when driver enters in suspend.
25
26
27
28Example :
29
30i2c0: i2c@fed40000 {
31 compatible = "st,comms-ssc4-i2c";
32 reg = <0xfed40000 0x110>;
33 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
34 clocks = <&CLK_S_ICN_REG_0>;
35 clock-names = "ssc";
36 clock-frequency = <400000>;
37 pinctrl-names = "default";
38 pinctrl-0 = <&pinctrl_i2c0_default>;
39 st,i2c-min-scl-pulse-width-us = <0>;
40 st,i2c-min-sda-pulse-width-us = <5>;
41};