diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-18 18:50:07 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-18 18:50:07 -0500 |
commit | 13509c3a9d20a9df93dc9b944e8bd20fe1b454a7 (patch) | |
tree | d7a97d1d10e88bcb93852cb0143a000710e9e246 /Documentation | |
parent | 1ea406c0e08c717241275064046d29b5bac1b1db (diff) | |
parent | cfff1f4a9367bfe0d88413e8807f8369e9564729 (diff) |
Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c changes from Wolfram Sang:
- new drivers for exynos5, bcm kona, and st micro
- bigger overhauls for drivers mxs and rcar
- typical driver bugfixes, cleanups, improvements
- got rid of the superfluous 'driver' member in i2c_client struct This
touches a few drivers in other subsystems. All acked.
* 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (38 commits)
i2c: bcm-kona: fix error return code in bcm_kona_i2c_probe()
i2c: i2c-eg20t: do not print error message in syslog if no ACK received
i2c: bcm-kona: Introduce Broadcom I2C Driver
i2c: cbus-gpio: Fix device tree binding
i2c: wmt: add missing clk_disable_unprepare() on error
i2c: designware: add new ACPI IDs
i2c: i801: Add Device IDs for Intel Wildcat Point-LP PCH
i2c: exynos5: Remove incorrect clk_disable_unprepare
i2c: i2c-st: Add ST I2C controller
i2c: exynos5: add High Speed I2C controller driver
i2c: rcar: fixup rcar type naming
i2c: scmi: remove some bogus NULL checks
i2c: sh_mobile & rcar: Enable the driver on all ARM platforms
i2c: sh_mobile: Convert to clk_prepare/unprepare
i2c: mux: gpio: use reg value for i2c_add_mux_adapter
i2c: mux: gpio: use gpio_set_value_cansleep()
i2c: Include linux/of.h header
i2c: mxs: Fix PIO mode on i.MX23
i2c: mxs: Rework the PIO mode operation
i2c: mxs: distinguish i.MX23 and i.MX28 based I2C controller
...
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/devicetree/bindings/i2c/i2c-bcm-kona.txt | 35 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/i2c/i2c-exynos5.txt | 44 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/i2c/i2c-rcar.txt | 23 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/i2c/i2c-st.txt | 41 | ||||
-rw-r--r-- | Documentation/i2c/busses/i2c-i801 | 1 |
5 files changed, 144 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 | }; | ||
diff --git a/Documentation/i2c/busses/i2c-i801 b/Documentation/i2c/busses/i2c-i801 index d29dea0f3232..7b0dcdb57173 100644 --- a/Documentation/i2c/busses/i2c-i801 +++ b/Documentation/i2c/busses/i2c-i801 | |||
@@ -25,6 +25,7 @@ Supported adapters: | |||
25 | * Intel Avoton (SOC) | 25 | * Intel Avoton (SOC) |
26 | * Intel Wellsburg (PCH) | 26 | * Intel Wellsburg (PCH) |
27 | * Intel Coleto Creek (PCH) | 27 | * Intel Coleto Creek (PCH) |
28 | * Intel Wildcat Point-LP (PCH) | ||
28 | Datasheets: Publicly available at the Intel website | 29 | Datasheets: Publicly available at the Intel website |
29 | 30 | ||
30 | On Intel Patsburg and later chipsets, both the normal host SMBus controller | 31 | On Intel Patsburg and later chipsets, both the normal host SMBus controller |