Merge tag 'tegra-for-4.8-i2c' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra...
[cascardo/linux.git] / Documentation / devicetree / bindings / i2c / i2c-s3c2410.txt
1 * Samsung's I2C controller
2
3 The Samsung's I2C controller is used to interface with I2C devices.
4
5 Required properties:
6   - compatible: value should be either of the following.
7       (a) "samsung, s3c2410-i2c", for i2c compatible with s3c2410 i2c.
8       (b) "samsung, s3c2440-i2c", for i2c compatible with s3c2440 i2c.
9       (c) "samsung, s3c2440-hdmiphy-i2c", for s3c2440-like i2c used
10           inside HDMIPHY block found on several samsung SoCs
11       (d) "samsung, exynos5440-i2c", for s3c2440-like i2c used
12            on EXYNOS5440 which does not need GPIO configuration.
13       (e) "samsung, exynos5-sata-phy-i2c", for s3c2440-like i2c used as
14            a host to SATA PHY controller on an internal bus.
15   - reg: physical base address of the controller and length of memory mapped
16     region.
17   - interrupts: interrupt number to the cpu.
18   - samsung,i2c-sda-delay: Delay (in ns) applied to data line (SDA) edges.
19
20 Required for all cases except "samsung,s3c2440-hdmiphy-i2c":
21   - Samsung GPIO variant (deprecated):
22     - gpios: The order of the gpios should be the following: <SDA, SCL>.
23       The gpio specifier depends on the gpio controller. Required in all
24       cases except for "samsung,s3c2440-hdmiphy-i2c" whose input/output
25       lines are permanently wired to the respective clienta
26   - Pinctrl variant (preferred, if available):
27     - pinctrl-0: Pin control group to be used for this controller.
28     - pinctrl-names: Should contain only one value - "default".
29
30 Optional properties:
31   - samsung,i2c-slave-addr: Slave address in multi-master environment. If not
32     specified, default value is 0.
33   - samsung,i2c-max-bus-freq: Desired frequency in Hz of the bus. If not
34     specified, the default value in Hz is 100000.
35   - samsung,sysreg-phandle - handle to syscon used to control the system registers
36
37 Example:
38
39         i2c@13870000 {
40                 compatible = "samsung,s3c2440-i2c";
41                 reg = <0x13870000 0x100>;
42                 interrupts = <345>;
43                 samsung,i2c-sda-delay = <100>;
44                 samsung,i2c-max-bus-freq = <100000>;
45                 /* Samsung GPIO variant begins here */
46                 gpios = <&gpd1 2 0 /* SDA */
47                          &gpd1 3 0 /* SCL */>;
48                 /* Samsung GPIO variant ends here */
49                 /* Pinctrl variant begins here */
50                 pinctrl-0 = <&i2c3_bus>;
51                 pinctrl-names = "default";
52                 /* Pinctrl variant ends here */
53                 #address-cells = <1>;
54                 #size-cells = <0>;
55
56                 wm8994@1a {
57                         compatible = "wlf,wm8994";
58                         reg = <0x1a>;
59                 };
60         };