blob: 296eb4536129faab7144891aaa7840863b76b130 [file] [log] [blame]
Thomas Abraham5a5f5082011-09-13 09:46:05 +05301* Samsung's I2C controller
2
3The Samsung's I2C controller is used to interface with I2C devices.
4
5Required 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.
Karol Lewandowskiec39ef82012-04-23 18:24:01 +02009 (c) "samsung, s3c2440-hdmiphy-i2c", for s3c2440-like i2c used
10 inside HDMIPHY block found on several samsung SoCs
Giridhar Maruthyfaf93ff2013-01-24 11:27:51 -080011 (d) "samsung, exynos5440-i2c", for s3c2440-like i2c used
12 on EXYNOS5440 which does not need GPIO configuration.
Thomas Abraham5a5f5082011-09-13 09:46:05 +053013 - reg: physical base address of the controller and length of memory mapped
14 region.
15 - interrupts: interrupt number to the cpu.
16 - samsung,i2c-sda-delay: Delay (in ns) applied to data line (SDA) edges.
Thomas Abraham5a5f5082011-09-13 09:46:05 +053017
Tomasz Figa2693ac62012-11-13 11:33:40 +010018Required for all cases except "samsung,s3c2440-hdmiphy-i2c":
19 - Samsung GPIO variant (deprecated):
20 - gpios: The order of the gpios should be the following: <SDA, SCL>.
21 The gpio specifier depends on the gpio controller. Required in all
22 cases except for "samsung,s3c2440-hdmiphy-i2c" whose input/output
23 lines are permanently wired to the respective clienta
24 - Pinctrl variant (preferred, if available):
25 - pinctrl-0: Pin control group to be used for this controller.
26 - pinctrl-names: Should contain only one value - "default".
27
Thomas Abraham5a5f5082011-09-13 09:46:05 +053028Optional properties:
Masanari Iida372c1d62013-04-10 22:33:46 +090029 - samsung,i2c-slave-addr: Slave address in multi-master environment. If not
Thomas Abraham5a5f5082011-09-13 09:46:05 +053030 specified, default value is 0.
31 - samsung,i2c-max-bus-freq: Desired frequency in Hz of the bus. If not
32 specified, the default value in Hz is 100000.
33
34Example:
35
36 i2c@13870000 {
37 compatible = "samsung,s3c2440-i2c";
38 reg = <0x13870000 0x100>;
39 interrupts = <345>;
40 samsung,i2c-sda-delay = <100>;
41 samsung,i2c-max-bus-freq = <100000>;
Tomasz Figa2693ac62012-11-13 11:33:40 +010042 /* Samsung GPIO variant begins here */
Thomas Abraham5a5f5082011-09-13 09:46:05 +053043 gpios = <&gpd1 2 0 /* SDA */
44 &gpd1 3 0 /* SCL */>;
Tomasz Figa2693ac62012-11-13 11:33:40 +010045 /* Samsung GPIO variant ends here */
46 /* Pinctrl variant begins here */
47 pinctrl-0 = <&i2c3_bus>;
48 pinctrl-names = "default";
49 /* Pinctrl variant ends here */
Thomas Abraham5a5f5082011-09-13 09:46:05 +053050 #address-cells = <1>;
51 #size-cells = <0>;
52
53 wm8994@1a {
54 compatible = "wlf,wm8994";
55 reg = <0x1a>;
56 };
57 };