Thomas Abraham | 5a5f508 | 2011-09-13 09:46:05 +0530 | [diff] [blame] | 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. |
Karol Lewandowski | ec39ef8 | 2012-04-23 18:24:01 +0200 | [diff] [blame] | 9 | (c) "samsung, s3c2440-hdmiphy-i2c", for s3c2440-like i2c used |
| 10 | inside HDMIPHY block found on several samsung SoCs |
Giridhar Maruthy | faf93ff | 2013-01-24 11:27:51 -0800 | [diff] [blame] | 11 | (d) "samsung, exynos5440-i2c", for s3c2440-like i2c used |
| 12 | on EXYNOS5440 which does not need GPIO configuration. |
Thomas Abraham | 5a5f508 | 2011-09-13 09:46:05 +0530 | [diff] [blame] | 13 | - 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 Abraham | 5a5f508 | 2011-09-13 09:46:05 +0530 | [diff] [blame] | 17 | |
Tomasz Figa | 2693ac6 | 2012-11-13 11:33:40 +0100 | [diff] [blame] | 18 | Required 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 Abraham | 5a5f508 | 2011-09-13 09:46:05 +0530 | [diff] [blame] | 28 | Optional properties: |
Masanari Iida | 372c1d6 | 2013-04-10 22:33:46 +0900 | [diff] [blame] | 29 | - samsung,i2c-slave-addr: Slave address in multi-master environment. If not |
Thomas Abraham | 5a5f508 | 2011-09-13 09:46:05 +0530 | [diff] [blame] | 30 | 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 | |
| 34 | Example: |
| 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 Figa | 2693ac6 | 2012-11-13 11:33:40 +0100 | [diff] [blame] | 42 | /* Samsung GPIO variant begins here */ |
Thomas Abraham | 5a5f508 | 2011-09-13 09:46:05 +0530 | [diff] [blame] | 43 | gpios = <&gpd1 2 0 /* SDA */ |
| 44 | &gpd1 3 0 /* SCL */>; |
Tomasz Figa | 2693ac6 | 2012-11-13 11:33:40 +0100 | [diff] [blame] | 45 | /* 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 Abraham | 5a5f508 | 2011-09-13 09:46:05 +0530 | [diff] [blame] | 50 | #address-cells = <1>; |
| 51 | #size-cells = <0>; |
| 52 | |
| 53 | wm8994@1a { |
| 54 | compatible = "wlf,wm8994"; |
| 55 | reg = <0x1a>; |
| 56 | }; |
| 57 | }; |