summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-11-18 18:50:07 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-11-18 18:50:07 -0500
commit13509c3a9d20a9df93dc9b944e8bd20fe1b454a7 (patch)
treed7a97d1d10e88bcb93852cb0143a000710e9e246 /Documentation
parent1ea406c0e08c717241275064046d29b5bac1b1db (diff)
parentcfff1f4a9367bfe0d88413e8807f8369e9564729 (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.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
-rw-r--r--Documentation/i2c/busses/i2c-i8011
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 @@
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};
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
30On Intel Patsburg and later chipsets, both the normal host SMBus controller 31On Intel Patsburg and later chipsets, both the normal host SMBus controller