diff options
Diffstat (limited to 'Documentation/devicetree/bindings/i2c')
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 @@ | |||
1 | Broadcom Kona Family I2C | ||
2 | ========================= | ||
3 | |||
4 | This I2C controller is used in the following Broadcom SoCs: | ||
5 | |||
6 | BCM11130 | ||
7 | BCM11140 | ||
8 | BCM11351 | ||
9 | BCM28145 | ||
10 | BCM28155 | ||
11 | |||
12 | Required 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 | |||
22 | Refer to clocks/clock-bindings.txt for generic clock consumer | ||
23 | properties. | ||
24 | |||
25 | Example: | ||
26 | |||
27 | i2c@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 | |||
3 | The Samsung's High Speed I2C controller is used to interface with I2C devices | ||
4 | at various speeds ranging from 100khz to 3.4Mhz. | ||
5 | |||
6 | Required 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 | |||
19 | Optional 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 | |||
26 | Example: | ||
27 | |||
28 | hsi2c@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 @@ | |||
1 | I2C for R-Car platforms | ||
2 | |||
3 | Required 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 | |||
13 | Optional properties: | ||
14 | - clock-frequency: desired I2C bus clock frequency in Hz. The absence of this | ||
15 | propoerty indicates the default frequency 100 kHz. | ||
16 | |||
17 | Examples : | ||
18 | |||
19 | i2c0: 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 @@ | |||
1 | ST SSC binding, for I2C mode operation | ||
2 | |||
3 | Required 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 | |||
13 | Optional 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 | |||
28 | Example : | ||
29 | |||
30 | i2c0: 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 | }; | ||